发布于 3个月前

Python使用psutil模块获取CPU,内存以及硬盘信息

psutil是一个跨平台库模块,能够获取系统运行的进程和系统的CPU,内存,磁盘,网络等信息,它实现了同等命令行工具提供的功能,如ps,top,lsof,netstat,ifconfig,who,df,kill,free,nice等。

安装psutil模块

可以使用pip来安装psutil:

pip install psutil

导入psutil模块

import psutil

完成环境的准备后,就可以使用psutil来获取系统的CPU,内存,硬盘等信息了。

获取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
©2020 edoou.com   京ICP备16001874号-3