On 07/03/2014 07:58 AM, Martin Kletzander wrote:
On Thu, Jul 03, 2014 at 04:31:46PM +0300, Gleb Voronich wrote:
> Hello,
>
> I'm trying to get memory usage statistic inside a guest machine using
> virDomainMemoryStats function at libvirt.
> According to
>
http://libvirt.org/html/libvirt-libvirt.html#virDomainMemoryStatTags the
> structure could have a lot of useful memory statistic but the amount of
> parameters depends on the hypervisor and the driver.
> However using KVM I'm able to get VIR_DOMAIN_MEMORY_STAT_ACTUAL_BALLOON
> and VIR_DOMAIN_MEMORY_STAT_RSS only.
>
QEMU/KVM only supports these two IIRC.
> Am I right it is not possible to get additional info such as used/unused
> memory inside a guest machine in case of KVM?
>
Yes. Actually reporting some data from *inside* the domain is not
what libvirt aims to provide.
In the case of the memory balloon device, libvirt CAN provide stats from
the guest, because of the way the balloon device works. But if you
aren't using a balloon, or if the guest is not cooperative, this won't
work. Better would be a guest-agent command for getting at this
information (but again, you are relying on guest cooperation). In
short, libvirt is great at stats from the HOST point of view, but for
stats from the GUEST point of view, you are often better off using the
same mechanisms that you would for getting stats from a remote bare
metal machine, without needing libvirt in the mix.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org