弹性云服务器 ECS-使用taskset命令让进程运行在指定CPU上:操作步骤

时间:2024-05-21 10:26:56

操作步骤

  1. 执行如下命令,查看云服务器CPU核数。

    cat /proc/cpuinfo

    关于CPU的核心参数说明:

    • processor:指明第几个CPU处理器
    • cpu cores:指明每个处理器的核心数
  1. 执行以下命令,获取进程状态(以下操作以进程test.sh为例,对应的pid为23989)

    ps aux | grep test.sh

  1. 执行以下命令,查看进程当前运行在哪个CPU上。

    taskset -p 进程号

    例如:taskset -p 23989

    显示的是十六进制数字1,转换为二进制为0001。每个1对应一个CPU,所以进程运行在第0个CPU上。

  1. 执行以下命令,指定进程运行在第二个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&

support.huaweicloud.com/trouble-ecs/ecs_trouble_0355.html