taskset 是一个CPU 调节工具,能够将系统任务分配至指定的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 "\n" " "|awk '{print $1}'`
  node2=`pgrep node |sort |tr -s "\n" " "|awk '{print $2}'`
  node3=`pgrep node |sort |tr -s "\n" " "|awk '{print $3}'`
  node4=`pgrep node |sort |tr -s "\n" " "|awk '{print $4}'`
  taskset -pc 0 $node1
  taskset -pc 1 $node2
  taskset -pc 2 $node3
  taskset -pc 3 $node4
fi