代码拉取完成,页面将自动刷新
#!/bin/bash
# To bind cpu for vm
# daihaijun @20171213
exclude_vm="centos|myha"
vm_list=(`virsh list|awk '/kkl|test|mkoa/{printf $2" "}'|egrep -v "$exclude_vm"`)
hostcpu_n=`lscpu |egrep '^CPU\(s\)'|awk '{print $2}'`
vcpu_all=0
set_res=/dev/shm/setvcpus
>$set_res
unset vcpu_n
unset vm_list_set
declare -A vcpu_n
for vm in ${vm_list[*]};do
vcpu_n[$vm]=`virsh vcpuinfo $vm|grep -c VCPU`
let vcpu_all=vcpu_all+${vcpu_n[$vm]}
#echo "vm:$vm vcpu number is: ${vcpu_n[$vm]}"
done
for ((u=0;u<$hostcpu_n;u++));do
echo -e "$u" >> $set_res
done
for vm in ${vm_list[*]};do
for((n=0;n<${vcpu_n[$vm]};n++));do
vm_list_set=($vm ${vm_list_set[*]})
done
done
k=0
for j in ${!vm_list_set[*]};do
vcpu_set=`echo "${j}%${hostcpu_n}"|bc`
[ $j -gt 0 ] && [ "${vm_list_set[$j]}" = "${vm_list_set[$j-1]}" ] && let k+=1 || k=0
virsh vcpupin ${vm_list_set[$j]} $k $vcpu_set 1>/dev/null
sed -i "/^\<${vcpu_set}\>/{s/$/\t${vm_list_set[$j]}/}" $set_res
done
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。