[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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



Hi Eric,

Thank you for your reply. After doing some research, it seems the host(not the guest) needs to request the memory. I'm not short on memory so I guess that is why I did not see any balloon activity.

I also read(off of IBM) where it can cause the guest to run out of cache and increase block I/O activity which makes no sense to me- sense the balloon only expands and takes of memory in the guest that is not used.


-dman



From: Eric Blake <eblake redhat com>
To: d hee <coolio ymail com>
Cc: "libvirt-users redhat com" <libvirt-users redhat com>
Sent: Monday, October 17, 2011 12:43 PM
Subject: Re: [libvirt-users] Virtio Balloon- Can not see the results

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 redhat com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]