目录
一:介绍
psutil 是一个跨平台库,用于获取系统使用信息。它提供了一个简单的接口来获取系统进程、CPU、内存、磁盘、网络和传感器信息等。
以下是一些 psutil 的基本使用方法
二:获取信息
1.获取CPU信息
import psutil
# 获取CPU总的使用率
cpu_percent = psutil.cpu_percent()
print(f"CPU使用率: {cpu_percent}%")
# 获取CPU的逻辑和物理数量
logical_cpus = psutil.cpu_count(logical=True)
physical_cpus = psutil.cpu_count(logical=False)
print(f"逻辑CPU数量: {logical_cpus}")
print(f"物理CPU核心数: {physical_cpus}")
2.获取内存信息
# 获取总内存、可用内存和内存使用百分比
total_mem = psutil.virtual_memory().total
available_mem = psutil.virtual_memory().available
mem_percent = psutil.virtual_memory().percent
print(f"总内存: {total_mem / (1024 ** 3)} GB") # 转换为GB为单位
print(f"可用内存: {available_mem / (1024 ** 3)} GB") # 转换为GB为单位
print(f"内存使用率: {mem_percent}%")
3.获取磁盘信息
# 获取磁盘总容量和使用量
disk_usage = psutil.disk_usage('/') # 获取根目录的磁盘使用情况
print(f"磁盘总容量: {disk_usage.total / (1024 ** 3)} GB") # 转换为GB为单位
print(f"磁盘使用量: {disk_usage.used / (1024 ** 3)} GB") # 转换为GB为单位
print(f"磁盘使用率: {disk_usage.percent}%")
4.获取网络信息
# 获取网络接口信息,包括IP、MAC地址等
net_io = psutil.net_io_counters()
print(f"Bytes sent: {net_io.bytes_sent}") # 发送的字节数
print(f"Bytes received: {net_io.bytes_recv}") # 收到的字节数
5.获取系统进程信息
# 获取所有进程信息,包括PID、CPU和内存使用率等
for proc in psutil.process_iter():
try:
# 获取进程名和PID等基本信息
process = proc.as_dict(attrs=['pid', 'name'])
print(process)
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass # process already terminated etc. and cannot be retrieved anymore,skip it.