Files
2026-04-10 10:56:50 +08:00

4.2 KiB
Raw Permalink Blame History

psutil 详细功能文档

psutil(Python System and Process Utilities)是一个跨平台的 Python 库,用于检索系统运行时的信息,如CPU、内存、磁盘、网络、进程等。它支持 Linux、Windows、macOS、FreeBSD 等主流操作系统,是系统监控、性能分析和运维自动化的重要工具。


一、安装与导入

1. 安装

pip install psutil

2. 导入

import psutil

二、CPU 相关功能

1. CPU 逻辑/物理核心数

psutil.cpu_count()          # 逻辑 CPU 数量
psutil.cpu_count(logical=False)  # 物理 CPU 数量

2. CPU 使用率

psutil.cpu_percent(interval=1)      # 整体 CPU 使用率(阻塞 1 秒)
psutil.cpu_percent(interval=None)   # 非阻塞调用

psutil.cpu_times_percent(interval=1)
# 返回用户态、系统态、空闲等占比

3. 每个 CPU 核心的使用率

psutil.cpu_percent(interval=1, percpu=True)

4. CPU 时间统计

psutil.cpu_times()
# user / system / idle / iowait 等

三、内存相关功能

1. 虚拟内存(RAM)

mem = psutil.virtual_memory()
print(mem.total, mem.available, mem.percent)

主要字段说明:

属性 含义
total 总内存
available 可用内存
used 已使用内存
free 完全空闲内存
percent 使用百分比

2. 交换内存(Swap)

swap = psutil.swap_memory()
print(swap.total, swap.used, swap.free)

四、磁盘相关功能

1. 磁盘分区信息

psutil.disk_partitions()

示例返回:

sdiskpart(device='/dev/sda1', mountpoint='/', fstype='ext4')

2. 磁盘使用情况

psutil.disk_usage('/')

返回字段:total / used / free / percent

3. 磁盘 I/O 统计

psutil.disk_io_counters()

字段包括:

  • read_bytes
  • write_bytes
  • read_count
  • write_count

按磁盘:

psutil.disk_io_counters(perdisk=True)

五、网络相关功能

1. 网络 I/O 统计

psutil.net_io_counters()

字段:

  • bytes_sent
  • bytes_recv
  • packets_sent
  • packets_recv

按网卡:

psutil.net_io_counters(pernic=True)

2. 网络连接

psutil.net_connections(kind='inet')

常用 kind:

  • 'inet':IPv4 + IPv6
  • 'tcp'
  • 'udp'

返回对象包含:

  • fd, family, type, laddr, raddr, status, pid

3. 网络接口信息

psutil.net_if_addrs()
psutil.net_if_stats()

六、进程管理(核心功能)

1. 获取进程 PID

psutil.pids()

2. 创建 Process 对象

p = psutil.Process(pid=1234)

3. 常用进程信息

p.name()        # 进程名
p.exe()         # 可执行文件路径
p.cmdline()     # 启动命令
p.pid           # PID
p.ppid()        # 父 PID
p.status()      # 状态
p.create_time() # 创建时间

4. CPU / 内存使用

p.cpu_percent(interval=0.1)
p.memory_info()     # RSS / VMS
p.memory_percent()

5. 线程与文件

p.threads()
p.open_files()

6. 网络连接

p.net_connections()

7. 进程控制

p.suspend()
p.resume()
p.kill()
p.terminate()

七、系统信息与传感器

1. 系统基本信息

psutil.boot_time()
psutil.users()

2. 温度传感器(Linux)

psutil.sensors_temperatures()

3. 电池信息(笔记本)

psutil.sensors_battery()

八、跨平台注意事项

功能 Windows Linux macOS
进程 CPU affinity ❌ ✅ ❌
sensors_temperature ❌ ✅ ⚠️
完整 net_connections ⚠️ ✅ ✅

⚠️ 表示部分支持或需要管理员权限


九、常见应用场景

  • 系统资源实时监控
  • 服务器性能分析
  • 进程级资源审计
  • 自动化运维脚本
  • 安全/异常进程检测

十、总结

psutil 提供了统一、简洁、跨平台的系统信息访问接口,是 Python 中做系统监控和运维自动化的首选库之一。无论是查看 CPU、内存、磁盘、网络,还是精细到单个进程的资源占用,psutil 都能高效胜任。