psutil-资源监控库-Python


psutil 是一个跨平台的库,用于获取系统和进程相关的各种信息。它可以帮助你监控系统资源(如CPU、内存、磁盘和网络)和进程。你可以使用 psutil 来获取以下信息:

  • CPU 信息:包括 CPU 使用率、核心数、频率等。
  • 内存信息:包括物理内存、虚拟内存的使用情况等。
  • 磁盘信息:磁盘的使用情况,包括分区、文件系统、磁盘IO等。
  • 网络信息:包括网络接口、IP 地址、网络流量等。
  • 进程信息:列出系统中的所有进程,获取进程的CPU、内存使用情况以及其他信息。

安装

要安装 psutil,你可以使用 pip

pip install psutil

示例用法

import psutil

# 获取 CPU 使用率
cpu_usage = psutil.cpu_percent(interval=1)
print(f"CPU使用率: {cpu_usage}%")

# 获取内存信息
memory_info = psutil.virtual_memory()
print(f"总内存: {memory_info.total / (1024**3):.2f} GB")
print(f"已用内存: {memory_info.used / (1024**3):.2f} GB")
print(f"空闲内存: {memory_info.available / (1024**3):.2f} GB")

# 获取磁盘使用情况
disk_usage = psutil.disk_usage('/')
print(f"磁盘总容量: {disk_usage.total / (1024**3):.2f} GB")
print(f"已用磁盘: {disk_usage.used / (1024**3):.2f} GB")
print(f"可用磁盘: {disk_usage.free / (1024**3):.2f} GB")

# 获取网络接口信息
net_io = psutil.net_io_counters()
print(f"发送数据量: {net_io.bytes_sent / (1024**2):.2f} MB")
print(f"接收数据量: {net_io.bytes_recv / (1024**2):.2f} MB")

进程相关功能

你可以通过 psutil 获取进程相关信息,例:

# 获取当前所有进程
for proc in psutil.process_iter(['pid', 'name', 'cpu_percent']):
    try:
        print(f"PID: {proc.info['pid']}, Name: {proc.info['name']}, CPU 使用率: {proc.info['cpu_percent']}%")
    except (psutil.NoSuchProcess, psutil.AccessDenied):
        pass

psutil 是一个非常有用的工具,特别适合需要监控或管理系统资源的任务。如果你有更具体的需求,欢迎进一步询问!