將程序繫結到特定的cpu taskset命令

2021-08-09 05:59:40 字數 2320 閱讀 9250

在測試鬥地主程式的時候,發現單核cpu的執行時間總比多核cpu執行時間塊,用taskset命令一看,果然是乙個程序執行在兩個cpu上。

score of team 1

is : -1154

score of team 2

is : 148

score of team 3

is : 1006

real 4m12.768s

user 0m12.307s

sys 0m2.703s

[root@ying ~]# ps -aux | grep dou

root 30958

18.0

0.415508

4112 pts/0 s+ 09:14

0:00 ./doudizhu_platform

root 30960

0.00.0

9028

660 pts/1 r+ 09:14

0:00 grep --color=auto dou

[root@ying ~]# taskset -p 30958

pid 30958

's current affinity mask: 1

score of team 1

is : -1100

score of team 2

is : 568

score of team 3

is : 532

real 6m41.709s

user 0m7.428s

sys 0m2.776s

[email protected]

.93.13:~# ps -aux | grep dou

root 2314

2.50.9

177940

161356 pts/1 s+ 09:06

0:09 ./doudizhu_platform

root 26076

0.00.0

12180

704 pts/2 s+ 09:13

0:00 grep --color=auto dou

[email protected]

.93.13:~# taskset -p 2314

pid 2314

's current affinity mask: ff

[email protected]

.93.13:~# taskset -p 2314

pid 2314

's current affinity mask: ff

最後在將乙個程序固定到cpu上貌似沒啥效果,麼有找到原因。不知道和單核機器和多核機器的gcc版本有沒有關係

score of team 1

is : -182

score of team 2

is : 97

score of team 3

is : 85

real 6m44.039s

user 0m7.668s

sys 0m2.568s

[email protected]

.93.13:~# ps -aux | grep dou

root 16842

2.30.0

19628

2988 pts/1 s+ 09:29

0:00 ./doudizhu_platform

root 22093

0.00.0

12176

704 pts/2 s+ 09:29

0:00 grep --color=auto dou

[email protected]

.93.13:~# taskset -pc 0 16842

pid 16842

's current affinity list: 0-7

pid 16842

's new affinity list: 0

[email protected]

.93.13:~# taskset -p 16842

pid 16842

's current affinity mask: 1

但是嘗試了乙個很有意思的,將乙個程序直接全部放在cpu 1, 結果泥煤的**了

cpu1快爆了,不過cpu0倒是降下來一點

如何將網絡卡中斷繫結到特定cpu

在cpu單核的時代,網絡卡收發包處理都會有乙個cpu負責,但隨著多核cpu的出現,還按照以前網絡卡中斷有乙個cpu處理的話,明顯浪費cpu資源,基於此出現了網絡卡中斷繫結 特定cpu的技術,目的當然是為了提高cpu利用率,將網絡卡中斷均衡的分配到各個cpu.首先,簡單說一下中斷,什麼是中斷呢?就是各...

如何將程序 執行緒繫結到固定的CPU核

什麼是cpu affinity affinity 是程序的乙個屬性,這個屬性指明了程序排程器能夠把這個程序排程到哪些 cpu上。在linux 中,我們可以利用 cpu affinity 把乙個或多個程序繫結到乙個或多個 cpu上。cpu affinity分為2 種,soft affinity 和ha...

繫結執行緒到特定CPU處理器

參考這篇文章 如下 define gnu source include include include include include include void myfun void arg cpu zero get if pthread getaffinity np pthread self si...