psutil模块,主要应用于系统监控,分析和限制管理资源及进程的管理,它实现了同等命令工具提供的功能。
[size=medium][color=blue]
例如: ps,top,lsof,netstat,ifconfig,who,df,kill,free,nice,ionice,iostat,iotop,uptime,pidof,tty,taskset,pmap等[/color][/size]
安装psutil模块:
代码示例:
wget https://pypi.python.org/packages/source/p/psutil/psutil-2.0.0.tar.gz --no-check-certificate
tar -zxvf psutil-2.0.0.tar.gz
cd psutil-2.0.0
python setup.py install
下面介绍一些Psutil模块的例子,包括获取系统性能信息(cpu、内存、磁盘、网络信息)、系统进程管理方法等。
1,取系统性能信息 1)CPU信息 User time,执行用户进程的时间百分比 System time,执行内核进程和中断的百分比 Wait IO,由于IO等待而使CPU处于idle(空闲)状态的时间百分比 Idle,CPU处于idle状态的时间百分比 psutil.cpu_count psutil.cpu_times psutil.cpu_percent psutil.cpu_times_percent 其中: psutil.cpu_count(logical=False)物理个数 psutil.cpu_count()逻辑个数 psutil.cpu_times_percent(interval=1,percpu=True/False)时间间隔,是否以列表形式输出 2)MEM信息 Total,内存总量 Used,已使用的内存数 Free,空闲内存数 Buffers,缓冲区使用数 Swap,交换分区使用数 Psutil.swap_memory psutil.virtual_memory 3)磁盘信息 磁盘利用率及IO信息 Read_count,读IO数 Write_count,写IO数 Read_bytes,读IO字节数 Write_count,写IO字节数 Read_time,磁盘读时间 Write_time,磁盘写时间 psutil.disk_partitions psutil.disk_usage(‘/’) psutil.disk_io_counters(‘perdisk=False/True’)总IO个数/单个分区IO个数 4)网络信息 Bytes_sent,发送字节数 Packets_sent,接收字节数 Packets_sent,发送数据包数 Packets_sent,接收数据包数 psutil.net_io_counters(pernic=Flase/True)获取网络总的IO信息/获取每个网络接口的IO信息 5)其他系统信息 用户登录、开机时间 psutil.users() psutil.boot_time() 2,系统进程管理方法 1)进程信息 2)popen类的使用 import psutil from subprocess import PIPE p = pstuil.Popen([‘/etc/init.d/mysqld’,’-c’,’start’],stdout=PIPE)
通过psutil的Popen方法启动的应用程序,可以跟踪该程序运行的所有信息。