在日常开发、服务器运维、电脑管理等场景中,实时查看系统状态是高频刚需:监控 CPU 使用率、内存占用、磁盘空间、网络流量、进程运行状态…… 手动查看不仅效率低下,还无法实现自动化告警与记录。而 Python 原生模块无法跨平台获取完整系统信息,代码复杂且兼容性差。
Psutil是 Python 生态中最强大的跨平台系统监控库,能够轻松获取 CPU、内存、磁盘、网络、进程等所有系统核心信息,支持 Windows、macOS、Linux 全平台,无需调用系统命令,纯 Python 接口实现监控。无论是个人电脑性能监测、服务器运维告警、自动化脚本状态检测,还是桌面应用开发,Psutil 都能以极简代码完成专业级系统监控,是程序员、运维工程师必备的效率工具。
一、库的简介,就是实际生活中的作用Psutil 专注于跨平台系统信息获取与硬件监控,是 Python 运维开发、性能优化、自动化工具的核心库。在实际生活中,它的用处无处不在:个人电脑实时查看 CPU 温度、内存占用;服务器自动监控负载,超过阈值发送告警;自动化脚本判断磁盘空间,自动清理文件;开发任务管理器,监控后台进程状态;游戏、软件优化时检测系统资源占用情况。它无需管理员权限,接口简洁易懂,一行代码获取系统数据,完美替代手动查看系统信息的繁琐操作,实现全自动化系统监控。
二、安装库Psutil 是第三方跨平台库,通过 pip 一键安装,打开终端执行命令即可:
安装完成后直接导入使用,无任何复杂配置,全系统兼容。
三、基本用法,用法需要分 1234 个小步骤
# 获取CPU逻辑核心数 print(psutil.cpu_count()) # 获取当前CPU使用率 print(psutil.cpu_percent(interval=1))
mem = psutil.virtual_memory() # 总内存 print(mem.total) # 内存使用率 print(mem.percent)
disk = psutil.disk_usage('/') # 磁盘总空间 print(disk.total) # 磁盘使用率 print(disk.percent)
四、高级用法
net = psutil.net_io_counters() print("网络发送字节:", net.bytes_sent) print("网络接收字节:", net.bytes_recv)
# 遍历所有进程ID for pid in psutil.pids(): p = psutil.Process(pid) print(p.name(), pid)
# 系统开机时间 print(psutil.boot_time()) # 笔记本电池信息 print(psutil.sensors_battery())
print(psutil.getloadavg())
五、实际应用场景场景:电脑资源自动监控告警脚本(日常实用,可直接运行)import psutil import time def system_monitor(): while True: # 获取各项系统状态 cpu = psutil.cpu_percent(interval=1) mem = psutil.virtual_memory().percent disk = psutil.disk_usage('/').percent print(f"CPU使用率:{cpu}% 内存使用率:{mem}% 磁盘使用率:{disk}%") # 超过阈值告警 if cpu > 80: print("⚠️ CPU占用过高!") if mem > 85: print("⚠️ 内存资源不足!") if disk > 90: print("⚠️ 磁盘空间即将耗尽!") time.sleep(3) if __name__ == '__main__': system_monitor()
Psutil 凭借简洁 API、全平台兼容、全面的系统监控能力,成为 Python 系统编程的标杆库,从个人电脑状态查看,到企业服务器自动化运维,都能稳定高效地完成任务。它解决了原生系统接口跨平台难、代码复杂的问题,让系统监控开发变得简单快捷,无论是新手学习还是专业开发,都是最实用的工具之一。
Psutil 功能全面、使用简单,四步基础用法就能快速获取 CPU、内存、磁盘核心数据,高级用法支持网络、进程、电池、系统负载全方位监控,在个人电脑管理、服务器运维、自动化工具开发等日常生活与工作场景中都能发挥巨大作用,是每位 Python 开发者都应该掌握的高效库。你平时最需要监控电脑或服务器的哪些指标?是 CPU、内存、磁盘,还是网络流量?不妨用 Psutil 编写属于自己的监控脚本,也欢迎分享你的使用场景,一起交流学习!