KVM中的在线调整

CPU热添加

注意事项

  • 假的热添加,不过是不超限制的在线调整
  • KVM虚拟化 不能在线减少CPU,cpu热添加技术适合 不能停机但是cpu性能严重不足 的场景
  • CPU热添加的技术对宿主机以及虚拟机操作系统版本要求较高
  • CPU热添加,总数不能大于最大CPU个数
1
2
3
4
5
6
7
virsh  dominfo  --domain centos7.0
virsh setvcpus CentOS-7.3-X86_64 3 --live #cpu的在线个数调整为3个
virsh setvcpus CentOS-7.3-X86_64 3 --config #写到配置文件 永久

[root@localhost ~]# cat /proc/interrupts
[root@localhost ~]# cat /proc/cpuinfo
[root@localhost ~]# lscpu

kvm 内存调整

在线调整内存

调小虚拟机内存可以动态实现,不用关机

KVM内存气球技术

气球技术最大的优点是内存可以超用;缺点是是有可能造成内存不够使用而影响性能;KVM内存气球技术可以对虚拟机使用的内存按需调节,从而提高内存的利用率。内存方面的调优手段主要是KSM,即相同内存页合并,内存气球技术和大页内存的使用虚拟机需要安装virtio balloon驱动,内核开启CONFIG_VIRTIO_BALLOON。CentOS6/7默认已安装驱动并开启。

  • 膨胀:操作的内存被拿掉给宿主机
  • 压缩:宿主机的内存还给你虚拟机
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@node3 qemu]# virsh  dumpxml --domain domain_name | grep memballoon -C2

<memballoon model='virtio'>
<alias name='balloon0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
</memballoon>
# 查看内存气球大小
[root@node3 qemu]# virsh qemu-monitor-command --domain domain_name --hmp --cmd info balloon
balloon: actual=1024
# 配置内存气球大小
[root@node3 qemu]# virsh qemu-monitor-command --domain domain_name --hmp --cmd balloon 2048
[root@node3 qemu]# virsh qemu-monitor-command --domain domain_name --hmp --cmd info balloon
balloon: actual=2048