psutil模块

psutil (python system and process utilities) 是一个跨平台的第三方库,能够轻松实现获取系统运行的进程和系统利用率(包扩CPU、内存、磁盘、网络等)信息。

它主要用于系统监控、分析、限制系统资源和进程的管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。

目前支持的操作系统包括:Linux,Windows,macOS,,AIX等等。同时支持python2与python3版本。

安装psutil

如果安装了Anaconda,psutil就已经可用了。否则,需要在命令行下通过pip安装:

$ pip install psutil

获取CPU信息

>>> import psutil
>>> psutil.cpu_times()#使用cpu_times获取cpu的完整信息
scputimes(user=252602.07, nice=1.52, system=49815.26, idle=44313950.0, iowait=3695.5, irq=0.0, softirq=2018.88, steal=54.84, guest=0.0, guest_nice=0.0)
>>> psutil.cpu_count()
32
>>> psutil.cpu_times_percent()
scputimes(user=0.7, nice=0.0, system=0.3, idle=99.0, iowait=0.0, irq=0.0, softirq=0.0, steal=0.0, guest=0.0, guest_nice=0.0)

获取内存信息

使用psutil获取物理内存和交换内存信息,分别使用:

>>> psutil.virtual_memory()
svmem(total=67451977728, available=59902709760, percent=11.2, used=7003389952, free=19983450112, active=26351325184, inactive=19160539136, buffers=3244032, cached=40461893632, shared=1179648, slab=1629519872)
>>> psutil.swap_memory()
sswap(total=0, used=0, free=0, percent=0.0, sin=0, sout=0)

获取磁盘信息

>>> psutil.disk_partitions()
[sdiskpart(device='/dev/mapper/centos-root', mountpoint='/', fstype='xfs', opts='rw,relatime,attr2,inode64,noquota')
, sdiskpart(device='/dev/sda1', mountpoint='/boot', fstype='xfs', opts='rw,relatime,attr2,inode64,noquota')] >>> psutil.disk_usage('/') sdiskusage(total=321852121088, used=65677602816, free=256174518272, percent=20.4) >>> psutil.disk_usage('/') sdiskusage(total=321852121088, used=65662214144, free=256189906944, percent=20.4) >>>

获取网络信息

psutil可以获取网络接口和网络连接信息:

psutil.net_io_counters()   # 获取网络读写字节/包的个数

psutil.net_if_addrs() # 获取网络接口信息

psutil.net_if_stats() # 获取网络接口状态

完结

posted @ 2020-04-29 16:17  wqbin  阅读(200)  评论(0编辑  收藏  举报