How to increase/decrease kvm guest memory dynamically?

It is possible !!! RHEL includes balloon driver ( from 5.5 onwards) for kvm guests. The virtio_balloon driver is loaded automatically with RHEL kernels.

If a user attempts to balloon a KVM guest the balloon command ( #virsh setmem) will successfully allow a user to change the memory assignment of the guest.

Below URLs give more information on memory ballooning driver.

Additional info on balloon driver can be found at

Note that the memory allocated this way cannot exceed “Maximum allocation” for the guest. This need to be defined in the guest configuration file before starting the guest usingxxxxxtag or via “virt-manager”.