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(a)ncsu.edu