《绑定cpu核 线程、进程》

一、
1、cpu数,物理核,逻辑核的关系:
逻辑CPU个数 > 物理CPU个数 * CPU内核数 开启了超线程 
逻辑CPU个数 = 物理CPU个数 * CPU内核数 没有开启超线程
2、cpu数,物理核,逻辑核的查看方法:
cat /proc/cpuinfo

processor:逻辑核的个数(逻辑核的id) 
physical id:物理CPU的id 
cpu cores:每个物理CPU的物理核个数 
siblings:每个物理CPU上逻辑CPU个数 
core id:每个CPU上的物理核的id

3、查看CPU(各个逻辑核)占用情况:
top 点击"1"可以查看各个逻辑核的占用情况

4、使用cat /proc/cpuinfo查看cpu信息,如下两个信息:
processor,指明第几个cpu处理器
cpu cores,指明每个处理器的核心数

二、进程绑定逻辑核
1、命令绑定
//g++ -o test test.cpp

启动两个实例,将进程都绑定到Cpu0:
taskset -c 0 ./test
taskset -c 0 ./test

通过top, 输入“1”查看系统cpu状况:
Cpu1空闲,Cpu0使用100%

继续测试,将pid为18057的test迁移到CPU1上运行,执行:
$ taskset -pc  1 18057
pid 18057's current affinity list: 0
pid 18057's new affinity list: 1
Cpu0及Cpu1都进入忙碌状态了!

继续测试!将pid为18210的test也迁移到Cpu1上运行,执行:
Cpu0闲着,Cpu1忙碌起来了!

2、显示进程运行的CPU
命令taskset -p 21184
显示结果:
pid 21184's current affinity mask: ffffff

3、指定进程运行在某个特定的CPU上
命令taskset -pc 3 21184
显示结果:
pid 21184's current affinity list: 0-23
pid 21184's new affinity list: 3

注:3表示CPU将只会运行在第4个CPU上(从0开始计数)。

4、进程启动时指定CPU
命令taskset -c 1 ./redis-server ../redis.conf

5、查看进程当前运行在哪个cpu上
taskset -p 2726
pid 2726's current affinity mask: 3
显示的十进制数字3转换为2进制为最低两个是1,每个1对应一个cpu,所以进程运行在2个cpu上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值