编程学习网 > 编程语言 > Python > 用Python的psutil库监控你的系统!实时获取CPU、内存、磁盘和网络使用情况
2025
07-04

用Python的psutil库监控你的系统!实时获取CPU、内存、磁盘和网络使用情况


前两天在优化一个数据处理脚本的时候 突然发现服务器跑得巨慢。CPU飙到100% 内存也快爆了。

当时真的很懵。

想看看到底哪里出了问题 结果发现自己对系统监控这块儿完全是个小白。只能干瞪眼看着htop的数据 也不知道怎么在Python代码里面获取这些信息。

01

后来同事推荐了psutil这个库。

说实话 第一次听到这个名字还以为是什么高深的工具呢。结果装上一试 简直太香了。

psutil全称是"process and system utilities" 专门用来获取系统和进程信息的。可以说是Python里面做系统监控的神器了。

装起来也超简单。

一行命令搞定。
02
CPU监控这块儿 我觉得是最实用的功能了。


这里有个小坑要注意。
interval参数一定要设置 不然第一次调用返回的都是0。因为psutil需要时间间隔来计算使用率。
我当时就被这个坑了一下 还以为是代码写错了呢。
03
内存监控也很重要。

virtual_memory()返回的是一个命名元组 里面有total used available percent等属性。
特别方便的是 所有的大小都是以字节为单位 想转换成GB的话除以1024的三次方就行了。
有时候系统卡顿不一定是CPU的问题 很可能是内存不够用了 这时候swap使用率就会很高。
04
磁盘监控在服务器管理中也很关键。

磁盘满了的时候程序就会各种报错 提前监控磁盘使用情况能避免很多问题。

IO统计在分析性能瓶颈的时候也很有用。

网络监控功能也挺强大的。

这个在调试网络相关问题的时候特别有用。
05
psutil还有个很棒的功能是可以监控具体的进程。


有时候想找到那个占用资源最多的进程 用这个功能就能快速定位。

不过要注意 有些进程可能没有权限访问 会抛出AccessDenied异常。

实际项目中我一般会写个简单的监控脚本 定时收集这些数据然后存到数据库里面。

这样就能分析系统的历史负载情况了 对容量规划很有帮助。

psutil还支持跨平台 Windows Linux macOS都能用 API基本一致。这点真的很赞。

总的来说 psutil是个非常实用的库 学会了之后对系统监控和性能调优都很有帮助。推荐每个Python开发者都了解一下。

以上就是“用Python的psutil库监控你的系统!实时获取CPU、内存、磁盘和网络使用情况的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取