天天看点

Python--psutil

import psutil

c_time = psutil.cpu_times() CPU完整信息                                                                             
scputimes(user=201.6, nice=0.09, system=262.15, idle=347372.03, iowait=10.6, irq=0.0, softirq=0.48, steal=0.0, guest=0.0, guest_nice=0.0)                                                                                   
c_count = psutil.cpu_count()    CPU的逻辑个数                                                                                
mem = psutil.virtual_memory()   内存完整信息                                                                              
svmem(total=1913536512, available=1700212736, percent=11.1, used=612323328, free=1301213184, active=194392064, inactive=255135744, buffers=970752, cached=398028800, shared=8835072)                                                                                    
m_swap = psutil.swap_memory()   SWAP分区信息                                                                                
sswap(total=2147479552, used=0, free=2147479552, percent=0.0, sin=0, sout=0)

psutil.disk_partitions()    磁盘完整信息                                                                              
[sdiskpart(device='/dev/mapper/centos-root', mountpoint='/', fstype='xfs', opts='rw,seclabel,relatime,attr2,inode64,noquota'), sdiskpart(device='/dev/mapper/centos-home', mountpoint='/home', fstype='xfs', opts='rw,seclabel,relatime,attr2,inode64,noquota'), sdiskpart(device='/dev/sda1', mountpoint='/boot', fstype='xfs', opts='rw,seclabel,relatime,attr2,inode64,noquota')]                                                                                    
psutil.disk_usage('/')  分区参数的使用情况                                                                               
sdiskusage(total=53660876800, used=1683800064, free=51977076736, percent=3.1)                                                                                   
psutil.disk_io_counters()   硬盘IO的个数 读写信息                                                                                
sdiskio(read_count=13131, write_count=21688, read_bytes=463071744, write_bytes=429121536, read_time=58210, write_time=504823, read_merged_count=11, write_merged_count=6345, busy_time=35831)                                                                                   
psutil.disk_io_counters(perdisk=True)   获取单个分区的读写信息                                                                             
"{'sr0': sdiskio(read_count=11, write_count=0, read_bytes=45056, write_bytes=0, read_time=133, write_time=0, read_merged_count=0, write_merged_count=0, busy_time=133), 
'sda2': sdiskio(read_count=5643, write_count=6640, read_bytes=218051072, write_bytes=213495808, read_time=28418, write_time=62820, read_merged_count=11, write_merged_count=6345, busy_time=17240), 
'sda1': sdiskio(read_count=1928, write_count=2062,read_bytes=27354624, write_bytes=2129920, read_time=1391, write_time=222, read_merged_count=0, write_merged_count=0, busy_time=1195), 
'dm-2': sdiskio(read_count=106, write_count=4, read_bytes=529408, write_bytes=2097152, read_time=31, write_time=10, read_merged_count=0, write_merged_count=0, busy_time=35), 
'dm-0': sdiskio(read_count=5317, write_count=12982, read_bytes=215997952, write_bytes=211398656, read_time=28199, write_time=441771, read_merged_count=0, write_merged_count=0, busy_time=17192), 
'dm-1': sdiskio(read_count=126, write_count=0, read_bytes=1093632, write_bytes=0, read_time=38, write_time=0, read_merged_count=0, write_merged_count=0, busy_time=36)}"                                                                                                                            
psutil.net_io_counters()    网络总的IO信息                                                                                
snetio(bytes_sent=8162098, bytes_recv=53448715, packets_sent=73923, packets_recv=54241, errin=0, errout=0, dropin=0, dropout=0)                                                                                 
psutil.net_io_counters(pernic=True) 每个网络接口的IO信息                                                                             
"{'lo': snetio(bytes_sent=11420, bytes_recv=11420, packets_sent=152, packets_recv=152, errin=0, errout=0, dropin=0, dropout=0),
'eno16777728': snetio(bytes_sent=8151348, bytes_recv=53437807, packets_sent=73775, packets_recv=54094, errin=0, errout=0, dropin=0, dropout=0)}"                                        

psutil.pids()   列出所有进程                                                                              
p = psutil.Process(1234)    实例化                                                                             
python flaskr.py                                                                                    
p.name()    进程名                                                                             
'python'                                                                                    
p.exe() 进程路径                                                                                
'/usr/local/bin/python2.7'                                                                                  
p.cwd() 进程工作目录绝对路径                                                                              
'/flaskr'                                                                                   
p.status()  进程状态                                                                                
'sleeping'                                                                                  
p.create_time() 进程创建时间                                                                              
datetime.datetime.fromtimestamp(p.create_time()).strftime("%Y-%m-%d %H:%M:%S")                                                                                  
2016-08-10 19:33:23'                                                                                    
p.uids()    UID                                                                             
puids(real=0, effective=0, saved=0)                                                                                 
p.gids()    GID                                                                             
pgids(real=0, effective=0, saved=0)                                                                                 
p.cpu_times()   进程cpu时间                                                                             
pcputimes(user=1.63, system=1.24, children_user=0.0, children_system=0.0)                                                                                   
p.cpu_affinity()    进程cpu亲和度                                                                                
[0, 1]                                                                                  
p.memory_percent()  进程内存利用率                                                                             
1.04351288176517                                                                                    
p.memory_info() 进程内存信息                                                                              
pmem(rss=19968000, vms=314613760, shared=5046272, text=1728512, lib=0, data=89313280, dirty=0)                                                                                  
p.io_counters() 进程IO信息                                                                              
pio(read_count=746, write_count=24, read_bytes=0, write_bytes=4096)                                                                                 
p.connections() 进程socket的namedutples列表                                                                              
[pconn(fd=3, family=2, type=1, laddr=('192.168.254.101', 80), raddr=(), status='LISTEN')]                                                                                   
p.num_threads() 进程开启的线程数                                                                                
2                                           
psutil.users()                                                                                  
[suser(name='root', terminal='pts/0', host='192.168.254.1', started=1470653568.0), suser(name='root', terminal='pts/1', host='192.168.254.1', started=1470676608.0), suser(name='root', terminal='pts/2', host='192.168.254.1', started=1470828800.0)]                                                                                  
psutil.boot_time()                                                                                  
datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S")                                                                                   
2016-08-08 18:53:22'