169
云计算
负载均衡
产品简介
产品价格
快速入门
用户指南
实践操作
常见问题
购买指南
云服务器
产品简介
计费规则
购买指导
控制台使用指南
常见问题
云数据库
产品简介
计费规则
购买指导
快速入门
连接实例
控制台使用指南
对象存储
产品简介
控制台使用指南
程序员百科
Python
使用taskset命令让进程运行在指定CPU上

产品推荐:

1、安全稳定的云服务器租用,2核/2G/5M仅37元,点击抢购>>>

2、高防物理服务器20核/16G/50M/500G防御仅350元,点击抢购>>>

3、百度智能建站(五合一网站)仅880元/年,点击抢购>>> 模板建站(PC+手机站)仅480元/年,点击抢购>>>

4、阿里云服务器2核2G3M仅99元/年、2核4G5M仅199元/年,新老同享,点击抢购>>> 

5、腾讯云服务器2核2G4M仅99元/年、新老同享,点击抢购>>>   


点击这里点击这里注册天翼云VIP帐号,立即体验云服务器>>>

本文为您介绍使用taskset命令让进程运行在指定CPU上的具体操作。

操作描述

taskset命令可用于在Linux系统上查看或设定某个进程或线程的CPU亲和性。使用此命令可实现让云主机内的某个进程或线程仅在与之绑定的CPU核心上运行。此操作指导将以CtyunOS 3-23.01 64位操作系统为例,介绍如何使用 taskset 命令让进程运行在指定CPU上。

操作步骤

  1. 通过执行如下命令,查看云主机的 CPU 核数。

    cat /proc/cpuinfo

    您会看到类似下图的输出内容。

    image.png

    其中,“processor”参数表示对应CPU处理器标号,而“cpu cores”参数表示对应CPU处理器的核心数。上图示例展示了标号为1且核心数为1的CPU处理器。注意:从此图可判断此云主机至少有2个CPU处理器,因为CPU处理器标号是从0开始的,了解这个信息对后续步骤的执行很关键。

  2. 假设有一个 taskset_test.sh 进程,通过执行如下命令,查看该进程的信息。

    ps aux | grep taskset_test.sh

    image.png

    上图示例中 taskset_test.sh 进程的 PID 是 3943。

  3. 通过执行如下命令,查看指定进程的 CPU 亲和性。

    taskset -p <替换为 PID>

    以第 2 步中获取的 PID 为例:

    image.png

    上图示例中显示的十进制数字3转换为二进制数字11,每个1对应一个CPU,最低两个是1表示该进程运行在两个CPU上。

  4. 通过执行如下命令,设定指定进程运行在第1个CPU(CPU0)上。

    taskset -pc 0 <替换为 PID>

    以第 2 步中获取的 PID 为例:

    image.png

    可以重复第 3 步来对比变化:

    image.png

    上图示例中显示的十进制数字1转换为二进制数字01(与第 3 步中对应),最低一个是1表示此步设定成功。

    此外,仍以设定运行在第 1 个 CPU 上为例,可使用如下命令在启动程序时绑定 CPU 核心:

    taskset -c 0 bash taskset_test.sh


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!