psutil是一个跨平台库模块,能够获取系统运行的进程和系统的CPU,内存,磁盘,网络等信息,它实现了同等命令行工具提供的功能,如ps,top,lsof,netstat,ifconfig,who,df,kill,free,nice等。
psutil环境准备
安装psutil模块
可以使用pip来安装psutil:
pip install psutil
导入psutil模块
import psutil
完成环境的准备后,就可以使用psutil来获取系统的CPU,内存,硬盘等信息了。
psutil的使用
获取CPU信息
封装了一个简单的获取cpu信息的函数:
def get_cpu_info():
cpu_count = psutil.cpu_count(logical=False) #1代表单核CPU,2代表双核CPU
xc_count = psutil.cpu_count() #线程数,如双核四线程
cpu_percent = round((psutil.cpu_percent(1)), 2) # cpu使用率
cpu_info = (cpu_count,xc_count,cpu_percent)
return cpu_info
获取内存信息
封装了一个简单的获取内存信息的函数:
def get_memory_info():
memory = psutil.virtual_memory()
total_nc = round(( float(memory.total) / 1024 / 1024 / 1024), 2) # 总内存
used_nc = round(( float(memory.used) / 1024 / 1024 / 1024), 2) # 已用内存
free_nc = round(( float(memory.free) / 1024 / 1024 / 1024), 2) # 空闲内存
percent_nc = round((float(memory.used) / float(memory.total) * 100), 2) # 内存使用率
men_info= (total_nc,used_nc,free_nc,percent_nc)
return men_info
获取硬盘信息
def get_disk_info():
list = psutil.disk_partitions() #磁盘列表
ilen = len(list) #磁盘分区个数
i=0
retlist1=[]
retlist2=[]
while i< ilen:
diskinfo = psutil.disk_usage(list[i].device)
total_disk = round((float(diskinfo.total)/1024/1024/1024),2) #总大小
used_disk = round((float(diskinfo.used) / 1024 / 1024 / 1024), 2) #已用大小
free_disk = round((float(diskinfo.free) / 1024 / 1024 / 1024), 2) #剩余大小
percent_disk = diskinfo.percent
retlist1=[i,list[i].device,total_disk,used_disk,free_disk,percent_disk] #序号,磁盘名称,
disk_info_list.append(retlist1)
i=i+1
return disk_info_list