简介
psutil (process and system utilities的缩写) 是一个跨平台的Python库,可以获取到运行中的进程信息和系统状态(比如CPU,内存,磁盘,网络,传感器),主要用于系统监测,进程资源的分析和限制,进程管理等。
psutil 实现了很多UNIX命令工具的功能,诸如: ps, top, lsof, netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap.
psutil 支持的操作系统涵盖了现在的主流: Linux, Windows, OSX, FreeBSD, OpenBSD, NetBSD, Sun Solaris, AIX. psutil 实现了对多种操作系统的统一接口封装,但有些方法和属性仅对特定操作系统有意义。
完整的文档可参考ReadTheDocs,这里只做Python库的简单介绍。
安装
pip install psutil
示例
诸如CPU,内存,磁盘,网络,硬件信息等常见的系统状态,psutil通通都可以监测到。下面是一些代码示例,仅仅展示了全部功能中的一部分。
CPU
# -*- coding: utf-8 -*- |
Memory
# -*- coding: utf-8 -*- |
磁盘
# -*- coding: utf-8 -*- |
网络
# -*- coding: utf-8 -*- |
传感器(硬件信息)
# -*- coding: utf-8 -*- |
其他系统信息
# -*- coding: utf-8 -*- |
进程管理
对进程的管理是psutil的一大模块,这里只挑选了极少数的例子。更多例子请参考GitHub上的例子。
# -*- coding: utf-8 -*- |
More
文档与更多示例参考:
其他扩展
Diamond是一个python写的守护程序,它可以收集系统指标(cpu, 内存, 网络,I/O, 负载, 硬盘指标), 并把它们发送至Graphite或其它后端。此外,通过它可以实现自定义的收集器,采集你想要的任何资源指标。
考虑到现在有Prometheus等更加大众的解决方案,这里就稍微提及而已。