kvm libvirt cpu 热添加
2015-12-01 17:08
246 查看
guest os 为centos7
1)配置虚拟机的xml文件:
<!-- 配置CPU数目 -->
<vcpu placement='auto' current="1">4</vcpu>
设置虚拟机默认使用的cpu个数是1个 , 但是最大可以添加到4个
2)启动虚拟机,在guest中查看虚拟机个数:
ls /sys/devices/system/cpu
会看到cpuX 的目录,x是(1,2,3.......),有几个这样的目录代表有几个cpu.因为在xml里面current=1,所以之可以看到cpu0目录
3)在host上使用virsh命令添加cpu:
virsh setvcpus test 2 --live
执行后,在guest再执行ls /sys/devices/system/cpu ,此时会看到有两个目录cpu0, cpu1 说明已经添加成功了,但是执行
cat /proc/interrupys 会看到还是只有以cpu0在工作,这是因为通过virsh热添加的cpu默认的状态是关闭的,需要执行以下命令打开
cpu: echo '1' > /sys/devices/system/cpu/cpuX/online (x 代表 1,2,3.....)
4)此时再去查看 cat /proc/interrupts 会看到两个cpu都已经开始工作
5)virsh setvcpus --config test 2
这条命令设置的是下一次引导时虚拟机的cpu个数,并且会自动启动
6)virsh setvcpus --maximum test 8
这条命令设置的下一次引导时虚拟机可以使用的最大cpu个数
7) virsh setvcpus --guest test 6
在虚拟机中修改 cpu 状态 (个人理解:好像需要qga的支持)
--config 写到配置文件里面,下次重启虚拟机有效
--live 影响正在运行的虚拟机,虚拟机进程消失后效果消失,默认是这种模式
--current 影响停止和正在运行的虚拟机,如果虚拟机运行,虚拟机进程停止后,效果消失
只支持cpu的热添加,不支持cpu的热删除,并且个数不能超过之前在xml文件里面设置的最大个数
guest os 为win7
同样修改虚拟机的xml文件,测试的结果是virsh setvcpus test 2 --live 执行结果成功,在设备管理其里里面也可以看到增加的cpu,但是计算机->属性看到的处理器个数还是原来的,并且在任务管理器里面看到的也是只有原来个数的cpu在运行
结论: 在win7上cpu热添加行不通,原因是win7没有对热添加的cpu直接运行的方法,有人测试过过win8 server he 2012 好像是可以
1)配置虚拟机的xml文件:
<!-- 配置CPU数目 -->
<vcpu placement='auto' current="1">4</vcpu>
设置虚拟机默认使用的cpu个数是1个 , 但是最大可以添加到4个
2)启动虚拟机,在guest中查看虚拟机个数:
ls /sys/devices/system/cpu
会看到cpuX 的目录,x是(1,2,3.......),有几个这样的目录代表有几个cpu.因为在xml里面current=1,所以之可以看到cpu0目录
3)在host上使用virsh命令添加cpu:
virsh setvcpus test 2 --live
执行后,在guest再执行ls /sys/devices/system/cpu ,此时会看到有两个目录cpu0, cpu1 说明已经添加成功了,但是执行
cat /proc/interrupys 会看到还是只有以cpu0在工作,这是因为通过virsh热添加的cpu默认的状态是关闭的,需要执行以下命令打开
cpu: echo '1' > /sys/devices/system/cpu/cpuX/online (x 代表 1,2,3.....)
4)此时再去查看 cat /proc/interrupts 会看到两个cpu都已经开始工作
5)virsh setvcpus --config test 2
这条命令设置的是下一次引导时虚拟机的cpu个数,并且会自动启动
6)virsh setvcpus --maximum test 8
这条命令设置的下一次引导时虚拟机可以使用的最大cpu个数
7) virsh setvcpus --guest test 6
在虚拟机中修改 cpu 状态 (个人理解:好像需要qga的支持)
--config 写到配置文件里面,下次重启虚拟机有效
--live 影响正在运行的虚拟机,虚拟机进程消失后效果消失,默认是这种模式
--current 影响停止和正在运行的虚拟机,如果虚拟机运行,虚拟机进程停止后,效果消失
只支持cpu的热添加,不支持cpu的热删除,并且个数不能超过之前在xml文件里面设置的最大个数
guest os 为win7
同样修改虚拟机的xml文件,测试的结果是virsh setvcpus test 2 --live 执行结果成功,在设备管理其里里面也可以看到增加的cpu,但是计算机->属性看到的处理器个数还是原来的,并且在任务管理器里面看到的也是只有原来个数的cpu在运行
结论: 在win7上cpu热添加行不通,原因是win7没有对热添加的cpu直接运行的方法,有人测试过过win8 server he 2012 好像是可以
相关文章推荐
- 触摸屏设备驱动程序
- spring注解使用及区别
- WCF 出现无法理解Soap Action问题?
- 如何限制html标签input的长度
- 【02】Node.js 安装配置(OK)
- [Javascript] BOM
- 应用跳转到系统设置的WiFi界面
- Hadoop分布式安装整理
- Hadoop分布式安装整理
- memcpy函数和memmove函数的模拟实现与区别
- Struts2的配置文件
- inotify实时监控程序安装
- Linux下使用gdb进行单步调试(三)
- 素数筛选法之埃拉托色尼筛
- 【单例模式】饿汉式&懒汉式
- EditText 边框颜色改变或设置为空
- 桶、冒泡、快速排序
- Android中关于android:layout_weight
- EditText输入长度限制,并提示信息
- 剑指offer:二叉搜索树与双向链表