libvirt获取实际内存的实现

libvirt获取实际内存的实现

libvirt可以通过virDomainGetInfo()来得到虚机信息:
   struct virDomainInfo{
       unsigned char     state     : the running state, one of virDomainState
       unsigned long     maxMem     : the maximum memory in KBytes allowed
       unsigned long     memory     : the memory in KBytes used by the domain
       unsigned short     nrVirtCpu     : the number of virtual CPUs for the domain
       unsigned long long     cpuTime     : the CPU time used in nanoseconds
   }

libvirt获取虚拟机实际内存的实现方法:

1. 通过libxl_domain_info():provides a way to get the struct libxl_dominfo 
for a single domain given its domid.
  
    代码里是读取struct libxl_dominfo -> current_memkb
来得到实际内存,但是从网上搜到的结构体为:
    struct libxl_dominfo {
     uint8_t uuid[16];
     uint32_t domid;
     uint8_t dying:1;
     uint8_t paused:1;
     uint8_t running:1;
     uint64_t max_memkb;
     uint64_t cpu_time;
     uint32_t vcpu_max_id;
     uint32_t vcpu_online;
};
    xen-unstable提供了这个接口

2. 通过xenapi: xen_vm_get_record() xen_vm_metrics_get_memory_actual()
 
3. QEMU: 通过BallonInfo来获取内存

 

本文转自feisky博客园博客,原文链接:http://www.cnblogs.com/feisky/archive/2011/11/26/2264317.html,如需转载请自行联系原作者


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值