Configure Guest Domain Memory Usage With Virsh

virsh provides Linux System Administrators with the ability to dynamically scale allocated memory to virtual guests during runtime.

# virsh dommemstat mySQL01
actual 2097152
rss 903040

dommemstat shows that the domain web-server has a memory allocation limitof 2097152 kB and is currently using 903040 kB. You can confirm this with ps.

# ps -C qemu-kvm -o rss,cmd
903040 /usr/bin/qemu-kvm -name mySQL01 -S -M pc-1.2 -enable-kvm -m 2048 -smp

The memory allocation limit is set with setmaxmem and can only be performed whilst the domain is inactive.

# virsh setmaxmem mySQL01 1048576 --config

By passing setmaxmem the config option the memory allocation limit iswritten to the virsh configuration file.

The current memory allocation for a guest domain is set with setmem.

# virsh setmem mySQL01 786432 --config --live

When passing setmem the live option, a memory balloon is performed on the running guest and the change happens instantly. This can be verified with dominfo.

# virsh dominfo mySQL01
Id:             1
Name:           mySQL01
UUID:           a1a0se38-20ff-134b-a0af-2bbc4e4ce167
OS Type:        hvm
State:          running
CPU(s):         4
CPU time:       31.9s
Max memory:     1048576 KiB
Used memory:    786432 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: selinux
Security DOI:   0
Security label: system_u:system_r:svirt_t:s0:c782,c903 (enforcing)
Share this:

Leave a Comment