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月前
|
KVM 虚拟化
KVM的热添加技术之内存
文章介绍了KVM虚拟化技术中如何通过命令行调整虚拟机内存配置,包括调小和调大内存的步骤,以及一些相关的注意事项。
42 4
KVM的热添加技术之内存
|
2月前
|
KVM 虚拟化
[kvm]cpu内存硬盘配置
[kvm]cpu内存硬盘配置
|
存储 XML 算法
kvm qcow2和ceph rbd虚拟机磁盘加密
kvm qcow2和ceph rbd虚拟机磁盘加密
kvm qcow2和ceph rbd虚拟机磁盘加密
|
Ubuntu Unix