import sys
import libvirt
conn=None
try:
conn=libvirt.open("qemu:///system")
except libvirt.libvirtError as e:
print(repr(e),file=sys.stderr)
exit(1)
host=conn.getHostname()
print('Hostname:'+host)
vcpu=conn.getMaxVcpus(None)
print('Maximum support virtual CPUs:'+str(vcpu))
nodeinfo=conn.getInfo() #返回的是一个列表
print('Model: '+str(nodeinfo[0]))
print('Memory size: '+str(nodeinfo[1])+'MB')
print('Number of CPUs: '+str(nodeinfo[2]))
print('MHz of CPUs: '+str(nodeinfo[3]))
print('Number of NUMA nodes: '+str(nodeinfo[4]))
print('Number of CPU sockets: '+str(nodeinfo[5]))
print('Number of CPU cores per socket: '+str(nodeinfo[6]))
print('Number of CPU threads per core: '+str(nodeinfo[7]))
conn.getType()#获取支持的可视化类型
conn.getURI()
conn.isEncrypted()#判断该连接是否加密,1有,0没有
conn.isSecure()#加密或运行在unix域或socket则安全
conn.isAlive()#判断与hypervisor的连接是否断开
conn.getFreeMemory()#获取主机上的可用内存
conn.getCPUMap()#返回主机cpu个数
print("CPUs:"+str(map[0]))
print("Available:"+str(map[1]))
stats=conn.getCPUStats(0)#通过编号获取单个cpu的信息
print("kernel:"+str(stats['kernel']))
print("idle:"+str(stats['idle']))
print("user:"+str(stats['user']))
print("iowait:"+str(stats['iowait']))
conn.close()
exit(0)
libvirt笔记(四)获取主机信息
最新推荐文章于 2023-04-25 16:51:32 发布