如同前一篇文章中我們介紹的,要操作libvirt,使用Python API是最簡單的方法。完整版本在本網站的最下方有一個連結,有興趣的朋友可以自行前往參考。依據其內容,在這裡再提供一個簡易的查詢主機的相關資訊的Python程式給大家參考,不同於C語言還要設定一大堆的編譯資訊,使用Python libvirt API,只要一個import的動作就全部搞定。程式如下:

#! /usr/bin/python
import libvirt
import sys
conn = libvirt.openReadOnly("qemu:///system")
host = conn.getHostname()
vcpus = conn.getMaxVcpus(None)
print "Hostname:", host
print "Max. support vCPUs:", vcpus

nodeinfo = conn.getInfo()
print "Model: " + str(nodeinfo[0])
print "Memory Size: " + str(nodeinfo[1]) + "MB"
print "Number of active CPUs: " + str(nodeinfo[2])
print "CPU Speed: " + str(nodeinfo[3]) + "MHz"
print "Number of NUMA nodes: " + str(nodeinfo[4])
print "Number of CPU sockets per node: " + str(nodeinfo[5])
print "Number of cores per socket: " + str(nodeinfo[6])
print "Number of threads per core: " + str(nodeinfo[7])

conn.close()

下圖則是在我的主機中執行的結果。不過,值得注意的是,CPU頻率的部份是估測值,每一次執行的結果都不一樣,呵呵。

2015-10-14_15-48-29

(18)