プロセスのためにCPUをバインドする
1020 ワード
tasksetはCPU調整ツールであり、システムタスクを指定されたCPUに割り当てることができます.
本論文はnodejsを例にしている.
第一歩、nodejsプロセスを調べます.
小さいスクリプトを添付して、nodejsのプロセスを自動的に結びつけることができます.四つのnodeがあると仮定して、CPUは四核です.
本論文はnodejsを例にしている.
第一歩、nodejsプロセスを調べます.
pgrep node
19277
19283
第二ステップは、CPUをロックする.taskset -pc 0 19277 ( 0 CPU0, )
taskset -pc 1 19283
第三ステップ、解決!小さいスクリプトを添付して、nodejsのプロセスを自動的に結びつけることができます.四つのnodeがあると仮定して、CPUは四核です.
#!/usr/bin/env bash
set -e
node_porcess=`pgrep node|wc -l`
if [$node_process -eq 0 ];then
echo “nodejs process not found”
exit 1
else
node1=`pgrep node |sort |tr -s "
" " "|awk '{print $1}'`
node2=`pgrep node |sort |tr -s "
" " "|awk '{print $2}'`
node3=`pgrep node |sort |tr -s "
" " "|awk '{print $3}'`
node4=`pgrep node |sort |tr -s "
" " "|awk '{print $4}'`
taskset -pc 0 $node1
taskset -pc 1 $node2
taskset -pc 2 $node3
taskset -pc 3 $node4
fi