[libvirt] [RFC] New libvirt API for domain memory statistics reporting

Matthias Bolte matthias.bolte at googlemail.com
Wed Dec 9 00:41:31 UTC 2009

2009/12/8 Adam Litke <agl at us.ibm.com>:
> When using ballooning to manage overcommitted memory on a host, a system for
> guests to communicate their memory usage to the host can provide information
> that will minimize the impact of ballooning on the guests while maximizing
> efficient use of host memory.
> The design of such a communication channel was recently added to version 0.8.2
> of the VirtIO Spec (See Appendix G):
>  - http://ozlabs.org/~rusty/virtio-spec/virtio-spec-0.8.2.pdf
> Host-side and guest-side implementations have been accepted for inclusion in
> their respective projects:
>  - Guest: http://lkml.org/lkml/2009/11/30/274
>  - Host: http://lists.gnu.org/archive/html/qemu-devel/2009-12/msg00380.html
> The following patch series implements a new libvirt interface to expose these
> memory statistics.  Thank you for your review and comments.
> [PATCH 1/6] domMemStats: Add domainMemStats method to struct _virDriver
> [PATCH 2/6] domMemStats: Add public symbol to libvirt API
> [PATCH 3/6] qemu-driver: Enable domainMemStats in the qemu driver
> [PATCH 4/6] remote-driver: Add domainMemStats support
> [PATCH 5/6] virsh: Enable virDomainMemStats as a new command
> [PATCH 6/6] python: Add python bindings for virDomainMemStats

Some general comments:

- You should name it virDomainMemoryStats to stay in sync with the
naming scheme.

- The struct members are an exact copy of that what virtio provides,
maybe we should see what different hypervisors can provide, discuss
what the useful parts are and define a general superset. For example
VMware ESX provides more/other memory statistics:

- You're missing descriptions (including context and meaning) and
units for the members of the stats struct.


More information about the libvir-list mailing list