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