python 获取机器ip、硬盘使用量、CPU使用量、内存使用量

获取ip:

value=socket.getaddrinfo(socket.gethostname(),None)#socket.gethostname()获取主机名 socket.getaddrinfo()获取ip
for i in value:
    ip=i[4][0]
    if ip .find('192.')==0:
        print ip

获取某个硬盘的使用量:

def getdisk():
    statvfs = os.statvfs('/data')
    total_disk_space = statvfs.f_frsize * statvfs.f_blocks   #f_frsize:分栈大小,f_blocks:文件系统数据块总数
    free_disk_space = statvfs.f_frsize * statvfs.f_bavail    #f_bavail:非超级用户可获取块数
    disk_usage = (total_disk_space - free_disk_space) * 100.0 / total_disk_space
    disk_usage = int(disk_usage)
    print disk_usage

获取CPU使用量:

def getcpu():
    #sar -u 1 2 获取cpu详情 每一秒采样一次 连续采两次
    p = subprocess.Popen('sar -u 1 2', shell=True, stdout=subprocess.PIPE,stderr=subprocess.PIPE,)
    for i in  p.stdout.read().split('\n'):
        if i.find("Average")>=0:
             print  100 - int(float(i.split(' ')[-1])+0.5)

获取内存剩余量:

def getmem():
    with open('/proc/meminfo') as f:
        total = int(f.readline().split()[1])  #总物理内存大小
        free = int(f.readline().split()[1])   #可用还剩多少
        av=int(f.readline().split()[1])
        buffers = int(f.readline().split()[1]) #磁盘缓存大小
        cache = int(f.readline().split()[1]) # 磁盘缓存大小
    mem_use = total-free-buffers-cache
    print  mem_use*100/total #已用多少

猜你喜欢

转载自blog.csdn.net/qq_40771567/article/details/81329429