使用taskset命令让进程运行在指定CPU上
taskset
命令让进程运行在指定CPU上
taskset
命令,可用于进程的CPU调优,可以把云服务器上运行的某个进程,指定在某个CPU上工作。
# 1、执行如下命令,查看服务器CPU核数
cat /proc/cpuinfo
# 关于CPU的核心参数说明
# processor:指明第几个CPU处理器
# cpu cores:指明每个处理器的核心数
# 2、执行以下命令,查询目标进程状态
ps -ef | grep test.sh
pgrep -f test.sh
# 3、执行下面指令,查询进程目前运行在哪个CPU上
taskset -p 进程号
例如:taskset -p 23989
# 执行
➜ taskset -p $(pgrep -f record)
# 输出结果:pid 1115756 的当前亲和力掩码:f0000000
# 或者执行
cat /proc/$(pgrep -f record)/status | grep 'Cpus_allowed_list:'
# 输出结果:Cpus_allowed_list: 28-31
# 4、执行以下命令,指定进程运行在第二个CPU(CPU1)上
taskset -pc 1 进程号
例如:taskset -pc 1 23989
# 说明:
CPU的标号是从0开始的,所以CPU1表示第二个CPU(第一个CPU的标号是0),这样就把应用程序test.sh绑定到了CPU1上运行
# 也可以使用如下命令在启动程序时绑定CPU(启动时绑定到第二个CPU)上
taskset -c 1 ./test.sh&
https://support.huaweicloud.com/trouble-ecs/ecs_trouble_0355.html