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


版权声明:著作权归作者所有。

相关推荐

Linux查看内存占用

在Linux可以使用这两个命令查看内存占用:top,pmaptoptop是linux常用的性能分析工具,可以查看各个进程的资源占用情况。$top top - 21:52:03 up 521 days,  4:59,  2 users,  load average: 0.02, 0

Python获取当前时间

datatime模块now()使用datetime.now()获取当前日期和时间>>> import datetime >>> datetime.datetime.now() datetime(2017, 12, 27, 21, 39, 24, 676972) 仅返回日期&

Python获取列表的元素个数

len()为Python的内置函数,它会返回对象里的项目数,这些对象可以是sequence(如string, bytes, tuple, list, range),也可以是collection (如dictionary, set)Python里的列表没有类似于length或size的属性和方法,可以使用len来获取列表的元素个数>&

Python : 数值以及数值运算

数值类型Python的数值类型包括:整数int ,浮点数float和复数。其他的数值类型包括:Decimal和分数Fraction。int:整数不限精度float:Python里的浮点数使用C语言的double实现,其精度由运行的系统决定,可以使用sys.float_info查看精度信息。复数:复数的虚数部分有j或J表示,如1+2j。其中实数和虚数的数值部分使用浮点数表示,它们可以使用z

MongoDB使用MapReduce获取Collection所有的键

MongoDB作为一个文档数据库,它不像关系型数据那样有固定的schema。有时我们需要获取Collection集合里所用的键。使用MapReduce获取Collection的键keys= db.runCommand({   "mapreduce" : "test",   "ma