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() # 获取网络接口状态
完结