1 Star 0 Fork 0

nianzong/kvm

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
bindcpu.sh 961 Bytes
一键复制 编辑 原始数据 按行查看 历史
nianzong 提交于 2018-11-30 11:38 . add bindcpu.sh
#!/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
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Shell
1
https://gitee.com/nianzong/kvm.git
[email protected]:nianzong/kvm.git
nianzong
kvm
kvm
master

搜索帮助