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