CPU
How to Check CPU number
$(cat /proc/cpuinfo | grep -i processor | wc -l)
For some purpose, we can tune CPU setting to let LINUX proccess run effectively
(Processor Affinity,or CPU pinning)
若將process 限定在特定的CPU 上, 可以減少shared memory 的消耗
修改Bootloader 參數保留CPU (完全讓其他process無法使用)
isolcpus=cpu_id (ex isolcpus=0.1 保留0,1 兩顆)
taskset command (無法保證其他process 無法使用)
查閱process 可以拿來做事的CPU有哪些 by affinity mask
$(taskset -p $PID)
affinity mask: 16進位數值代表此process 可用哪幾顆processor來作事
ex: 8 core CPU
ff = 11111111 (8 顆[0-7]都可以拿來做事 - 最左bit 代表 第0號core)
查閱process 可以拿來做事的CPU有哪些 by processor number
$(taskset -cp $PID)
設定特定的cpu作特定的事 (必須開啟CAP_SYS_NICE的權限)
taskset -p $COREMASK $PID
taskset -cp $CORELIST $PID
CORELIST 可以下 0-7 or 0,2,3,7
By program
taskset $COREMASK $EXECUTABLE_PROGRAM
Last updated
Was this helpful?