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

刚取云计算群里跟你们神吹了一阵……放松了很多……哈哈node

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

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

virNodeGetInfo()socket

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

——这个virNodeGetInfo API调用可以被用来获取 各类各样的信息,关于虚拟化终端的信息。学习

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

——这个函数有两个参数做为输入,第一个,固然是已经被咱们所熟知的 链接对象!第二呢,须要咱们学习的一个新的数据结构:virNodeInfo,这个是须要咱们调用者本身提供的。若是成功了,则返回0,并将信息填入咱们这个virNodeInfo的结构体中。code

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

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

为何要分开???对象

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

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

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

相关文章
相关标签/搜索