psutil库主要用于系统监控、分析和限制流程资源以及管理正在运行的流程。
官方文档:psutil documentation — psutil 5.9.2 documentation
安装:
pip install psutil
1.获取CPU信息
import psutil
# 获取CPU的完整信息
aa = psutil.cpu_times()
print(aa)
# 获取CPU的逻辑个数
bb = psutil.cpu_count()
print(bb)
# 获取CPU的物理个数
cc = psutil.cpu_count(logical=False)
print(cc)
# psutil获取系统CPU使用率的方法是cpu_percent(),其有两个参数,分别是interval和percpu
# interval指定的是计算cpu使用率的时间间隔,percpu则指定是选择总的使用率还是每个cpu的使用率
for _ in range(5):
dd = psutil.cpu_percent(interval=1)
print(dd)
ee = psutil.cpu_percent(interval=1, percpu=True)
print(ee)
运行结果:
2.获取内存信息
import psutil
# 获取系统内存的使用情况
aa = psutil.virtual_memory()
print(aa)
# 获取系统交换内存的统计信息
bb = psutil.swap_memory()
print(bb)
运行结果:
3.获取磁盘信息
import psutil
# 获取磁盘分区的信息
aa = psutil.disk_partitions()
print(aa)
# 获取磁盘的使用情况
bb = psutil.disk_usage('/')
print(bb)
# 获取磁盘的IO统计信息(读写速度等)
cc = psutil.disk_io_counters()
print(cc)
运行结果:
4.获取网络信息
import psutil
# 获取总的网络IO信息
aa = psutil.net_io_counters()
print(aa)
# 获取网卡的IO信息
bb = psutil.net_io_counters(pernic=True)
print(bb)
# 获取网络接口信息
cc = psutil.net_if_addrs()
print(cc)
# 获取网络接口状态信息
dd = psutil.net_if_stats()
print(dd)
运行结果:
略
5.获取其它系统信息
import psutil
# 获取系统的开机时间,并转化为自然的格式
aa = psutil.boot_time()
print(aa)
# 获取连接系统的用户列表
bb = psutil.users()
print(bb)
# 获取系统全部的进程信息
cc = psutil.pids()
print(cc)
# 获取单个进程的信息, 获取指定进程ID=4356
dd = psutil.Process(4356)
print(dd)
运行结果:
6.模拟出ps命令的效果
import psutil
aa = psutil.test()
print(aa)
运行结果:
7.以json的形式返回进程的pid和名称
import psutil
for proc in psutil.process_iter(['pid', 'name']):
print(proc.info)
运行结果:
更多功能详见官方文档:psutil documentation — psutil 5.9.2 documentation