libvirt重头戏,很总要的API!!!

刚取云计算群里跟大家神吹了一阵……放松了不少……哈哈

再接再厉,为什吗说这个API很总要呢???!!!

先来看看这个函数调用接口是?

virNodeGetInfo()

果断引用官方开发文档的说明

——这个virNodeGetInfo API调用能够被用来获取 各种各样的信息,关于虚拟化终端的信息。

这里给出一个区别:与之前...GetCapabilities()的相比较而言,前者获取的这个节点,这个终端,这个主机本身的信息!而后者,获取的是关于这个节点的虚拟化能力的描述!谨此共勉。

——这个函数有两个参数作为输入,第一个,当然是已经被我们所熟知的 连接对象!第二呢,需要我们学习的一个新的数据结构:virNodeInfo,这个是需要我们调用者自己提供的。如果成功了,则返回0,并将信息填入我们这个virNodeInfo的结构体中。

这个结构的成员一共有8个。

struct virNodeInfo{
char model[32]model : string indicating the CPU model
unsigned longmemory : memory size in kilobytes
unsigned intcpus : the number of active CPUs
unsigned intmhz : expected CPU frequency
unsigned intnodes : the number of NUMA cell, 1 for unusual NUMA topologies or uniform memory access; check capabilities XML for the actual NUMA topology
unsigned intsockets : number of CPU sockets per node if nodes > 1, total number of CPU sockets otherwise
unsigned intcores : number of cores per socket
unsigned intthreads : number of threads per core
}
但是遗憾的是,我始终没搞明白这个结构体的真正含义……特别是当我读到NUMA的时候,这个结构体为什么会包含这个信息??
NUMA表示的是“由若干高速专用网络连接起来的独立节点构成的系统”
为什么单个节点上会有包含多个节点的信息?
这很有可能是我理解出错……但是我始终理不出头绪,只有期待我进一步实验得出数据反过来验证猜想了……
文章的最后还顺便提一个API
virNodeGetFreeMemory()
你瞧这个API的描述就很清晰,获取目标虚拟化主机的闲置的存储容量大小。
而这两个API在开发文档上也是放在一起给出来的……这就更加加深我之前的那个疑惑了……

为什么要分开???

难道virNodeInfo这个结构体里面不能将这个freeMemory包含进去吗???

难道这个结构体真是其他什么的而不是我理解的关于这个节点的信息?

让我多多的实验去吧!!!!

转载于:https://my.oschina.net/u/274153/blog/55011

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值