1)CPU信息
[root@localhost ~]# python
Python 2.7.5 (default, Jul 13 2018, 13:06:57)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import psutil
#使用cpu_times方法获取CPU完整信息
>>> psutil.cpu_times()
scputimes(user=14571.83, nice=10.13, system=10459.3, idle=9390763.99, iowait=716.03, irq=0.0, softirq=3.8, steal=0.0, guest=0.0, guest_nice=0.0)
#获取单项数据信息,如用户user的时间比
>>> psutil.cpu_times().user
14571.87
#获取CPU的逻辑个数,默认logical=True4
>>> psutil.cpu_count()
1
#获取CPU的物理个数
>>> psutil.cpu_count(logical=False)
1

2)内存信息
>>> import psutil
#使用psutil.virtual_memory方法获取内存完整信息
>>> mem = psutil.virtual_memory()
>>> mem
svmem(total=1928695808L, available=1699635200L, percent=11.9, used=1617731584L, free=310964224L, active=733216768, inactive=700944384, buffers=194965504L, cached=1193705472)
#获取内存总数
>>> mem.total
1928695808L
#获取空闲内存数
>>> mem.free
310964224L
#获取swap分区信息
>>> psutil.swap_memory()
sswap(total=0L, used=0L, free=0L, percent=0.0, sin=0, sout=0)
3)磁盘信息
#使用psutil.disk_partitions方法获取磁盘完整信息
>>> psutil.disk_partitions()
[sdiskpart(device='/dev/vda1', mountpoint='/', fstype='ext4', opts='rw,relatime,data=ordered')]
#使用psutil.disk_usage方法获取分区(参数)的使用情况
>>> psutil.disk_usage('/')
sdiskusage(total=42139451392, used=3013500928, free=36961796096, percent=7.2)
#使用psutil.disk_io_counters方法获取磁盘总的IO个数、读写信息
>>> psutil.disk_io_counters()
sdiskio(read_count=26141, write_count=1716089, read_bytes=474932224, write_bytes=13267562496, read_time=109538, write_time=15169214)
#"perdisk=True"参数获取单个分区IO个数、读写信息
>>> psutil.disk_io_counters(perdisk=True)
{'vda1': sdiskio(read_count=26141, write_count=1716089, read_bytes=474932224, write_bytes=13267562496, read_time=109538, write_time=15169214)}
4)网络信息
#使用psutil.net_io_counters获取网络总的IO信息,默认pernic=False
>>> psutil.net_io_counters()
snetio(bytes_sent=287203066, bytes_recv=887595622, packets_sent=2422790, packets_recv=2704748, errin=0, errout=0, dropin=0, dropout=0)
#pernic=True输出每个网络接口的IO信息
>>> psutil.net_io_counters(pernic=True)
{'lo': snetio(bytes_sent=502615, bytes_recv=502615, packets_sent=2200, packets_recv=2200, errin=0, errout=0, dropin=0, dropout=0), 'eth0': snetio(bytes_sent=286703163, bytes_recv=887096509, packets_sent=2420612, packets_recv=2702590, errin=0, errout=0, dropin=0, dropout=0)}
>>>
5)其他系统信息
#使用psutil.users方法返回当前登录系统的用户信息
>>> psutil.users()
[suser(name='root', terminal='tty1', host='', started=1536040960.0), suser(name='root', terminal='pts/1', host='14.155.220.101', started=1542177536.0), suser(name='root', terminal='pts/2', host='14.155.220.101', started=1542181760.0)]
#转换成自然时间格式
>>> import psutil, datetime
>>> datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S")
'2018-07-28 12:50:26'
#使用psutil.boot_time方法获取开机时间,以Linux时间戳格式返回
>>> psutil.boot_time()
1532753426.0