I’m trying to track balloon growth after issuing a setmem command to a KVM guest with libvirt 0.10.2 and qemu-kvm 0.12.1.2 on CentOS 6.3. libvirt 0.10.2 was built from tar today and appears to be working fine. The guest is running CentOS 6.3 as well.
Using the provided test programs under examples/domain-events/ in C and Python, I’m not seeing VIR_DOMAIN_EVENT_ID_BALLOON_CHANGE ever tick, although I do see other events like VIR_DOMAIN_EVENT_ID_LIFECYCLE, VIR_DOMAIN_EVENT_ID_REBOOT, and VIR_DOMAIN_EVENT_ID_RTC_CHANGE. The balloon is definitely changing, and is reflected by both virsh –c qemu:///system dommemstat <dom> and free inside the guest. Here’s the balloon in my config for reference:
<memballoon model='virtio'>
<alias name='balloon0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</memballoon>
Is my understanding incorrect of what VIR_DOMAIN_EVENT_ID_BALLOON_CHANGE is? Is there something else this event is tracking, other than a virsh –c qemu:///system setmem <dom> <mem in KB> command and/or subsequent balloon movement inside the guest? Or, is my old version of qemu-kvm not passing this event back to libvirt? The latter doesn’t seem correct because I’m getting seemingly-valid values from dommemstat – ie, if I setmem 200MB when the guest OS and applications are consuming 300MB, it reports near 300MB (and the guest no longer responds) instead of just parroting the 200MB value I fed it.
Thanks!
Ben Clay
rbclay@ncsu.edu