绑定kvm虚拟机到CPU核心(转)

KVM虚拟机绑定到特定CPU核心的方法 文章转自: http://zk2052041.blog.163.com/blog/static/1377237201282614921473/

先介绍taskset,以后还会介绍cgroup中的方法。
taskset绑定进程到某个CPU是很方便的:
#taskset -pc 0,1 1249 
这会绑定1249进程到1号跟1号cpu上。
#cat /proc/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占用,效果很不错,各个虚拟机都被关在自己的笼子里面了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值