python通过psutil获取服务器cpu,内存,磁盘使用率

发布时间 2023-04-21 09:10:56作者: 家乐福的搬砖日常

psutil是一个跨平台的Python库,它允许你获取有关系统进程和系统资源使用情况的信息。它支持Windows、Linux、OS X、FreeBSD、OpenBSD和NetBSD等操作系统,并提供了一些非常有用的功能,如:

  1. 获取系统CPU使用率、内存使用率、磁盘使用率等信息。
  2. 获取进程列表、进程状态、进程CPU使用率、进程内存使用率、进程IO信息等。
  3. 杀死进程、发送信号给进程、挂起进程、恢复进程等操作。

使用psutil,可以很方便地监控系统的运行状况,诊断问题和优化性能。以下是一个简单的示例,演示如何使用psutil获取系统CPU使用率和内存使用率:

import psutil

# 获取磁盘使用率(windows),linux服务器可以获取根目录/下的磁盘使用率 disk_usage_C = psutil.disk_usage('/')
#disk_usage()方法可以获取指定路径的磁盘使用情况,返回一个namedtuple对象,包含total、used、free、percent四个属性,分别表示总容量、已用容量、可用容量和使用率。

disk_usage_C = psutil.disk_usage('C:')
print("C磁盘总体情况: ","总容量:",round(disk_usage_C.total/1073741824,2),"G"," 磁盘使用率:",disk_usage_C.percent, "%",sep='')
# sep='' 去除print()内空格,round(数值,2):保留两位小数 ,1G等于1,073,741,824byte

disk_usage_D = psutil.disk_usage('D:')
print("D磁盘使用率:","总容量:",round(disk_usage_D.total/1073741824,2),"G"," 磁盘使用率:",disk_usage_D.percent, "%",sep='')

disk_usage_E = psutil.disk_usage('E:')
print("E磁盘使用率:","总容量:",round(disk_usage_E.total/1099511627776,1),"T"," 磁盘使用率:",disk_usage_E.percent, "%",sep='')

# 获取内存使用率
#virtual_memory()方法可以获取系统内存使用情况,返回一个namedtuple对象,包含total、available、percent、used、free五个属性,分别表示总内存、可用内存、使用率、已用内存和可用内存。
mem = psutil.virtual_memory()
print("内存总量: ",round(mem.total/1073741824,2),"内存使用率:", mem.percent, "%")

# 获取CPU使用率
#cpu_percent()方法可以获取CPU使用率,可以指定采样间隔(默认为1秒),返回一个浮点数,表示CPU使用率
cpu_percent = psutil.cpu_percent(interval=1)
print("cpu核数: ",psutil.cpu_count(),"CPU使用率:", cpu_percent, "%")