简介
psutil是一个开源切跨平台的库,其提供了便利的函数用来获取操作系统的信息,比如CPU,内存,磁盘,网络等。此外,psutil还可以用来进行进程管理,包括判断进程是否存在、获取进程列表、获取进程详细信息等。而且psutil还提供了许多命令行工具提供的功能,包括:ps,top,lsof,netstat,ifconfig, who,df,kill,free,nice,ionice,iostat,iotop,uptime,pidof,tty,taskset,pmap。
psutil包含了异常、类、功能函数和常量,其中功能函数用来获取系统的信息,如CPU、磁盘、内存、网络等。类用来实现进程的管理功能
功能函数
根据函数的功能,主要分为CPU、磁盘、内存、网络几类,下面将会总几个方面来介绍psutil提供的功能函数。
CPU相关
函数
描述
psutil.cpu_count()
cpu_count(,[logical]):默认返回逻辑CPU的个数,当设置logical的参数为False时,返回物理CPU的个数。
psutil.cpu_percent()
cpu_percent(,[percpu],[interval]):返回CPU的利用率,percpu为True时显示所有物理核心的利用率,interval不为0时,则阻塞时显示interval执行的时间内的平均利用率
psutil.cpu_times()
cpu_times(,[percpu]):以命名元组(namedtuple)的形式返回cpu的时间花费,percpu=True表示获取每个CPU的时间花费
psutil.cpu_times_percent()
cpu_times_percent(,[percpu]):功能和cpu_times大致相同,看字面意思就能知道,该函数返回的是耗时比例。
psutil.cpu_stats()
cpu_stats()以命名元组的形式返回CPU的统计信息,包括上下文切换,中断,软中断和系统调用次数。
psutil.cpu_freq()
cpu_freq([percpu]):返回cpu频率
示例:
# 查看cpu个数
>>> import psutil
>>> psutil.cpu_count()
2
>>> psutil.cpu_count(logical=False)
1
>>>
# 查看cpu利用率
>>> psutil.cpu_percent()
0.2
>>> psutil.cpu_percent(percpu=True)
[0.1, 0.2]
>>>
# 查看cpu时间花费
>>> psutil.cpu_times()
scputimes(user=29.09, nice=0.0, system=22.62, idle=24434.77, iowait=1.74, irq=0.0, softirq=0.28, steal=0.27, guest=0.0, guest_nice=0.0)
>>> psutil.cpu_times(percpu=True)
[scputimes(user=13.64, nice=0.0, system=12.02, idle=12235.5, iowait=1.0, irq=0.0, softirq=0.16, steal=0.09, guest=0.0, guest_nice=0.0),
scputimes(user=15.47, nice=0.0, system=10.62, idle=12229.44, iowait=0.74, irq=0.0, softirq=0.12, steal=0.17, guest=0.0, guest_nice=0.0)]
>>> print(cpu_time)
scputimes(user=29.24, nice=0.0, system=22.76, idle=24618.94, iowait=1.74, irq=0.0, softirq=0.28, steal=