cpu亲和性
taskset命令可以将进程绑核,格式为taskset -p -c cpu-list pid
,其中cpu-list是数字化的cpu列表,从0开始。多个不连续的cpu可用逗号连接,连续的可用-
连接,比如0,2,5-11等。
举例:
[root@server01 ceshi]
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
......
[root@server01 ceshi]
[root@server01 ~]
3 /bin/bash ./jh.sh 27033
我们来验证一下看看编号为3的核心资源是否被占用
[root@server01 ~]
Linux 3.10.0-957.el7.x86_64 (server01) 05/17/2021 _x86_64_ (4 CPU)
09:39:02 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
09:39:04 PM all 22.62 0.00 2.62 0.00 0.00 0.00 0.00 0.00 0.00 74.75
09:39:04 PM 0 0.00 0.00 0.50 0.00 0.00 0.00 0.00 0.00 0.00 99.50
09:39:04 PM 1 0.00 0.00 0.00 0.00 0.00 0.50 0.00 0.00 0.00 99.50
09:39:04 PM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
09:39:04 PM 3 90.50 0.00 9.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00
如果是已经存在的进程,我们可以通过以下命令主动让进程跑另外一个核心
[root@server01 ~]
3 /bin/bash ./jh.sh 30492
[root@server01 ~]
pid 30492's current affinity list: 3
pid 30492's new affinity list: 2 <-代表进程已经跑到编号为2的核心上了
[root@server01 ~]
2 /bin/bash ./jh.sh 30492
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)