2014-09-30 48 views
0

我想知道是否有可能爲Linux進程默認親和力。默認值是〜0(截斷爲可用的CPU數量),但我希望能夠爲系統的所有進程設置它。在啓動時這樣做也很好,所以我可以有效地防止任何進程使用某些CPU(除非由系統調用明確設置)。更改默認的CPU親和力

謝謝! 大衛

+0

這是一個系統管理問題,請嘗試unix.stackexchange.com或serverfault.com。 – Barmar 2014-09-30 16:01:29

+0

在shell或C程序中? – Claudio 2014-09-30 16:02:31

+0

使用'taskset'啓動一個你想要的親和力的新shell。所有由該shell啓動的程序將具有相同的親和力。 – 2014-09-30 16:04:17

回答

0

從C程序:

#define _GNU_SOURCE 
#include <sched.h> 

int sched_setaffinity(pid_t pid, size_t cpusetsize, cpu_set_t *mask); 

看到man sched_setaffinity瞭解更多信息。

從貝:

taskset <mask> <command> <args> 

taskset -p <pid> <mask> 

其中<mask>是,例如,0x00000001用於第一CPU。