1. Psutil is a cross-platform library (http://code.google.com/p/psutil/) that makes it easy to get the process and system utilization (including CPU, memory, disk, network, etc.) information of the system running. It is mainly used for system monitoring, analyzing and restricting the management of system resources and processes. It implements the functions provided by equivalent command line tools such as PS, top, lsof, Netstat, ifconfig, who, DF, kill, free, nice, Ionice, Iostat, Iotop, uptime, pidof, TTY, Taskset, Pmap and so on. Currently supports 32-bit and 64-bit operating systems such as Linux, Windows, OS X, FreeBSD, and Sun Solaris.
2. Installation
https://pypi.python.org/packages/source/p/psutil/psutil-2.0.0.tar.gz tar -xzvf psutil-2.0.0.tar.gz cd psutil-2.0.0 python setup.py install
3. Use
Get system Performance Information (CPU, memory, disk, network)
3.1CPU related
View CPU Information
import Psutil查看cpu所有信息>>> psutil.cpu_times()scputimes(user=11677.09, nice=57.93, system=148675.58, idle=2167147.79, iowait=260828.48, irq=7876.28, softirq=0.0, steal=3694.59, guest=0.0, guest_nice=0.0)
Display all CPU logic information
>>> psutil.cpu_times(percpu=True)[scputimes(user=11684.17, nice=57.93, system=148683.01, idle=2168982.08, iowait=260833.18, irq=7882.35, softirq=0.0, steal=3697.3, guest=0.0, guest_nice=0.0)]
View the user's CPU time ratio
psutil.cpu_times().user11684.4
To view the number of CPU logic
>>> psutil.cpu_count()1
View CPU Physical Number
>>> psutil.cpu_count(logical=False)1
3.2 Viewing system memory
>>> import psutil>>> mem = psutil.virtual_memory()>>> mem#系统内存的所有信息svmem(total=1040662528, available=175054848, percent=83.2, used=965718016, free=74944512, active=566755328, inactive=59457536, buffers=9342976, cached=90767360)
System Total Memory
>>> mem.total1040662528
The system already uses memory
>>> mem.used965718016
System free Memory
>>> mem.free112779264
Get Swap Memory information
>>> psutil.swap_memory()sswap(total=0, used=0, free=0, percent=0, sin=0, sout=0)
Read disk parameters
Disk utilization is obtained using the Psutil.disk_usage method,
Disk IO information includes read_count (read IO number), Write_count (write IO number)
Read_bytes (io Write bytes), read_time (disk read time), Write_time (disk write time), these IO information
psutil.disk_io_counters()
Get full information about a disk
psutil.disk_partitions()
Get parameters for a partitioned table
psutil.disk_usage(‘/‘) #获取/分区的状态
Get the total number of HDD IO
psutil.disk_io_counters()
Get the number of individual partition IO
psutil.disk_io_counters(perdisk=True) #perdisk=True参数获取单个分区IO个数
Read Network information
Network information is similar to disk IO information, involving several key points, including byes_sent (number of bytes sent), Byte_recv=xxx (bytes accepted),
Pack-ets_sent=xxx (Bytes sent), pack-ets_recv=xxx (number of packets received), these network information
Get Network Total IO information
psutil.net_io_counters()
Output network per interface information
psutil.net_io_counters(pernic=True) #pernic=True
Get current system User login information
psutil.users()
Get boot time
Psutil.boot_time () #以linux时间格式返回
Datetime.datetime.fromtimestamp (Psutil.boot_time ()). Strftime ("%y-%m-%d%H:%m:%s") #转换成自然时间格式
System Process Management
Gets the current system's process information, gets the current program's running state, including the start time of the process, view the settings CPU affinity, memory utilization, IO information
Socket connection, number of threads, etc.
Get process Information
View all system processes
psutil.pids()
viewing individual processes
p = psutil. Process (2423) P.name ()#进程名p. exe ()#进程的bin路径p. CWD ()#进程的工作目录绝对路径p. Status () #进程状态p. Create_time () #进程创建时间p. UIDs () #进程uid信息p. Gids () #进程的gid信息p. Cpu_times () #进程的cpu时间信息, including User,system two CPU information p.cpu_affinity () # Get process CPU affinity, if you want to set CPU affinity, the CPU number as a reference is good p.memory_percent () #进程内存利用率p. Memory_info () #进程内存rss, VMS information p.io_counters () #进程的IO信息, including read/write IO numbers and Parameters P.connectios ( ) #返回进程列表p. Num_threads () #进程开启的线程数听过psutil的Popen方法启动应用程序, You can track information about your program from subprocess import Pipep = Psutil. Popen ([ "/usr/bin/python", "-C", " Print (' Hello ') "],stdout=pipe) P.name () p.username ()
Python----psutil Module