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包含進去嗎???

難道這個結構體真是其餘什麼的而不是我理解的關於這個節點的信息?

讓我多多的實驗去吧!!!!

相關文章
相關標籤/搜索