改變CPU和內存的配置可以通過編輯VM定義的XML文件或者使用libvrit工具。
(1)獲取運行實例的內存信息
root@kvm:~# virsh dommemstat kvm1
actual 1048576
swap_in 0
rss 333644
(2)更新虛擬機的有效內存至2GB
root@kvm:~# virsh setmem kvm1 --size 1049000
(3)停止運行的實例
root@kvm:~# virsh destroy kvm1
Domain kvm1 destroyed
(4)設置可以使用的最大內存爲2GB
root@kvm:~# virsh setmaxmem kvm1 --size 2097152
(5)啓動虛擬機實例
root@kvm:~# virsh start kvm1
Domain kvm1 started
(6)檢查當前分配的有效內存
root@kvm:~# virsh dommemstat kvm1
actual 2097152
swap_in 0
rss 214408
(7)連接KVM實例和在Guest OS中檢查有效內存
root@kvm:~# virsh console kvm1
Connected to domain kvm1
Escape character is ^]
Debian GNU/Linux 8 debian ttyS0
debian login: root
Password:
...
root@debian:~# free -m
total used free shared buffers cached
Mem: 2010 93 1917 5 8 40
-/+ buffers/cache: 43 1966
Swap: 382 0 3 82
(8)在定義的XML文件中檢查內存設置
root@kvm:~# virsh dumpxml kvm1 | grep memory
<memory unit='KiB'>2097152</memory>
(9)獲取關於CPU的信息
root@kvm:~# virsh vcpuinfo kvm1
VCPU: 0
CPU: 29
State: running
CPU time: 9.7s
CPU Affinity: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
(10)列出Guest OS使用的虛擬CPU數量
root@kvm:~# virsh vcpucount kvm1
maximum config 1
maximum live 1
current config 1
current live 1
(11)在VM的XML文件中把CPU的數量改變爲4
root@kvm:~# virsh edit kvm1
...
<vcpu placement='static'>4</vcpu>
...
Domain kvm1 XML configuration edited.
(12)確認一下我們改變的是否有效。
root@kvm:~# virsh vcpucount kvm1
maximum config 4
maximum live 4
current config 4
current live 4
root@kvm:~# virsh dumpxml kvm1 | grep -i cpu
<vcpu placement='static'>4</vcpu>