psutil模块是一个跨平台的获取进程和系统应用情况(CPU,内存,磁盘,网络,传感器)的库。该模块用于系统监控、限制进程资源和运行进程的管理等方面。
安装module
py -m pip install psutil
CPU:
>>> psutil.cpu_count() #cpu逻辑数量
4
>>> psutil.cpu_count(logical=False) # CPU物理核心
2
>>> psutil.cpu_percent() # CPU当前使用率
4.2
内存
>>> mem = psutil.virtual_memory() # 实例化内存对象
>>> mem.total # 系统总计内存
17178693632
>>> mem.used # 系统已经使用内存
4633444352
>>> mem.free # 系统空闲内存
12545249280
>>> mem.used/mem.total #内存使用率百分比
0.2697204136273172
>>> psutil.swap_memory() # swap内存信息
sswap(total=2550136832, used=232665088, free=2317471744, percent=9.1, sin=0, sout=0)
硬盘
>>> psutil.disk_usage('/')
sdiskusage(total=135771664384, used=21782020096, free=113989644288, percent=16.0)
网络
>>> psutil.net_io_counters() #网络总io
snetio(bytes_sent=856264410, bytes_recv=424610682, packets_sent=504832, packets_recv=326307, errin=0, errout=0, dropin=0, dropout=0)
>>> psutil.net_io_counters(pernic=True) #网卡io
{
'Ethernet': snetio(bytes_sent=862100800, bytes_recv=426788416, packets_sent=509751, packets_recv=329008, errin=0, errout=0, dropin=0, dropout=0), 'Loopback Pseudo-Interface 1': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=0, dropin=0