绑定kvm虚拟机到CPU核心

roc/1249/status  

Cpus_allowed:   3
Cpus_allowed_list:  0-1
重新绑定下:
#taskset -pc 1 1249
#cat /proc/1249/status
Cpus_allowed:   2
Cpus_allowed_list:  1
注意这里的Cpu_allowed用的是二进制掩码,3的二进制是11,2的二进制是10。前一个表示可在两个CPU上运行,第二个表示仅在第二个CPU上运行^_^
绑定进程到某几个核心没什么难度了,然后我开始在htop中设定绑定,但是,一个kvm进程生出了4个小线程,关绑定主进程,其他的子线程还是会漂移到别的CPU上,根本无法限制这个虚拟机,手动绑定?太麻烦!用命令来做:
首先把192.168.12.20这个虚拟机的kvm进程绑定到0-3号CPU:
ps -eLf |grep "kvm" |grep "192.168.12.20"|grep -v grep |awk "{print \$4}" |xargs -n 1 taskset -pc 0-3
首先把其他虚拟机的kvm进程绑定到4-7号CPU:
ps -eLf |grep "kvm" |grep -v "192.168.12.20"|grep -v grep |awk "{print \$4}" |xargs -n 1 taskset -pc 4-7
然后我们在不同的虚拟机上跑sysbench测试来看CPU占用,效果很不错,各个虚拟机都被关在自己的笼子里面了

你可能感兴趣的:(虚拟机,二进制,status)