[libvirt-users] Virtio Balloon- Can not see the results

Eric Blake eblake at redhat.com
Mon Oct 17 17:43:52 UTC 2011


On 10/13/2011 12:00 AM, d hee wrote:
> with kvm and virtio- would -m 1024 take proceedence over -balloon
> virtio? when i use both together, i see memory stay around 1024 MB less on my host side. I know the guest is not taking but a fraction of that ram, so I would expect the virtio balloon to take the majority of the guests ram and hand it back to the host. this is using the free util/command to take snapshots of the host memory.

Some helpful reading:
https://rwmj.wordpress.com/2010/07/17/virtio-balloon/
http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=%2Fliaat%2Fliaatbpballooning.htm

Remember that libvirt defaults to using both -m (maximum memory) and a 
virtio balloon (using -device virtio-balloon-pci, rather than -balloon, 
but the concept is the same).  As far as I know, there is _no way_ with 
current qemu to start a guest with less than maximum memory; rather, you 
are forced to start with maximum then rely on balloon to reduce the 
usage back down.  And this, unfortunately, requires guest cooperation. 
If the guest doesn't know how to use the virtio balloon driver, then you 
are stuck - the guest uses the maximum memory.  That said, from the host 
side, memory usage is still under normal host memory management rules, 
even if ballooning doesn't work, where the host can swap out pages that 
have not yet been touched by the guest, so that not all of the memory 
attributed to the guest is actually tying up host pages.

There's certainly room for improvement here, but it has to start with 
qemu improvements.

-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org




More information about the libvirt-users mailing list