Linux 核心數與線程數、CPU之間的關系

查看物理CPU的個數

grep 'physical id' /proc/cpuinfo | sort -u

查看每個CPU上具有的核心數量

grep 'core id' /proc/cpuinfo | sort -u | wc -l

查看所具有的線程數

grep 'processor' /proc/cpuinfo | sort -u | wc -l

由下圖可知,每個核心具有2個線程 ??

? ?40(processor) = 2(num of physical ) * 10 (num of core id ) * 2 (num of threads)?

< 在Linux跑程序一般要指定該程序在規定的CPU上跑,以免其占據過多的資源,用到的命令就是taskset >

1、顯示進程運行的CPU

taskset -p 21184

21184:指的是任務運行的PID(可以在top命令中找到任務對應的ID)

2、指定進程運行在某個特定的CPU上

taskset -c 3 21184 ?或者是 ?taskset -c 1-10 21184

前者指定的是在第4個CPU中運行,后者指的是在1-10這10個cpu中運行。(從0計數)

3、修改程序對應的CPU

taskset -pc 3 21184? 或者是? taskset -pc 1-10 21184

同上

4、在開始運行程序的時候,就設定程序運行的CPU,命令如下

taskset -c 3 perl get_result.pl? 或者是? taskset -c 1-10 perl get_result.pl

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容