查看物理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