一、安裝psutil庫
pip3 install psutil
二、代碼
#!/usr/bin/python3 coding=utf-8 import psutil import uuid import socket import os #系統與磁盤掛載 print('##########系統與磁盤信息#########') def get_mac_address(): mac=uuid.UUID(int = uuid.getnode()).hex[-12:] return ":".join([mac[e:e+2] for e in range(0,11,2)]) def get_host_ip(): try: s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) s.connect(('8.8.8.8',80)) ip=s.getsockname()[0] finally: s.close() return ip def get_load(): f = open("/proc/loadavg") loadstate=f.read().split() return loadstate load_list = get_load()[0:3] system_load = '' for i in load_list: if system_load: system_load = system_load+','+i else: system_load = i myname = socket.getfqdn(socket.gethostname()) print('主機名稱:',myname) print('本機ip地址:',get_host_ip()) print('本機MAC地址:',get_mac_address()) print('系統負載(1,5,15分鍾):',system_load) print('系統進程數:',len(psutil.pids())) devs = psutil.disk_partitions() for dev in devs: statvfs = os.statvfs(dev.mountpoint) devs = psutil.disk_partitions() for dev in devs: statvfs = os.statvfs(dev.mountpoint) total_disk_space = statvfs.f_frsize * statvfs.f_blocks free_disk_space = statvfs.f_frsize * statvfs.f_bfree disk_usage = int((total_disk_space - free_disk_space) * 100.0 / total_disk_space) print('掛在設備:%s,掛載點:%s 磁盤使用率:%d%% 文件系統:%s' % (dev.device,dev.mountpoint,disk_usage,dev.fstype)) #系統負載 def get_load(): f = open("/proc/loadavg") loadstate=f.read().split() return loadstate load_list = get_load()[0:3] system_load = '' for i in load_list: if system_load: system_load = system_load+','+i else: system_load = i print('系統負載(1,5,15分鍾):',system_load) #cpu cts = psutil.cpu_times() cputime = 0 for item in cts: if item != 0: cputime = cputime + item print('########CPU信息#########') print('用戶時間:%d%%' % (cts.user/cputime * 100)) print('內核時間:%d%%' % (cts.system/cputime * 100)) print('空閑時間:%d%%' % (cts.idle/cputime * 100)) print('邏輯CPU個數:',psutil.cpu_count()) print('物理cpu數量:',psutil.cpu_count(logical=False)) #內存 print('#########內存信息############') mem = psutil.virtual_memory() print('內存大小: %dM'%(int(mem.total/1024/1024))) print('已使用內存: %dM'%(int(mem.used/1000/1000))) print('剩余內存:%dM'%(int(mem.free/1024/1024))) print('內存使用率: %d%%'%(int(mem.percent)))
三、運行結果
[root@localhost~]#python3 system_info.py ##########系統與磁盤信息######### 主機名稱: localhost.localdomain 本機ip地址: 10.0.0.141 本機MAC地址: 00:0c:19:ca:bf:b2 系統負載(1,5,15分鍾): 0.00,0.01,0.05 系統進程數: 90 掛在設備:/dev/sda2,掛載點:/ 磁盤使用率:37% 文件系統:xfs 掛在設備:/dev/sda1,掛載點:/boot 磁盤使用率:11% 文件系統:xfs 系統負載(1,5,15分鍾): 0.00,0.01,0.05 ########CPU信息######### 用戶時間:0% 內核時間:0% 空閑時間:98% 邏輯CPU個數: 1 物理cpu數量: 1 #########內存信息############ 內存大小: 976M 已使用內存: 431M 剩余內存:201M 內存使用率: 56%