简介
psutil,是python system and process utilities的缩写,意思python的系统监控及进程的管理的工具,是一个功能很强大的跨平台的系统管理库。可以实现命令行中类似ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop等等命令的功能,并且以python内置的数据结构形式返回,官方文档(https://pythonhosted.org/psutil/)
目前psutil支持的系统有linux window os X 和freeBSD等
模块的安装
在unix下,并且有pip命令
pip install psutil
也可以使用如下步骤
wget https://pypi.python.org/packages/source/p/psutil/psutil-2.0.0-tar.gz--no-check-certificate
tar -xzvf psutil-2.0.0.tar.gz
cd psutil-2.0.0
python setup.py install
系统相关的监控与管理
CPU
cpu_times()
在系统中CPU的信息可以使用
cpu_times()方法来获取,将返回一个python元组。(使用percpu=True时,返回一个列表)
例如
>>> psutil.cpu_times()
scputimes(user=65891.9, nice=0.0, system=38858.41, idle=678477.0)
>>> psutil.cpu_times(percpu=True)
[scputimes(user=25988.71, nice=0.0, system=16648.07, idle=153743.29), scputimes(user=7601.88, nice=0.0, system=4861.74, idle=183911.48), scputimes(user=24453.39, nice=0.0, system=12420.48, idle=159501.34), scputimes(user=7975.27, nice=0.0, system=5001.66, idle=183398.08)]
其中CPU的信息包括(注:以上代码是在OS X 下运行的)
user :用户时间 被正常的用户进程所占用的时间,在linux下也包括了访客的时间
system :系统时间 在内核中执行的进程占有CPU的时间
其中有些参数在不同的平台下也会有所不同
nice(UNIX):被优先级高的进程所占用的时间
iowait(Linux):等待I/O完成的时间
irq(Linux,BSD):硬件中断维持所花费的时间
softirq(Linux):软件中断维持所花费的时间
dpc(windows):花费在dpc((Deferred Procedure Call),Windows操作系统中的一种中断调用机制)过程中的时间。
cpu_count()