psutil是一个开源切跨平台的库,其提供了便利的函数用来获取才做系统的信息,比如CPU,内存,磁盘,网络等。此外,psutil还可以用来进行进程管理,包括判断进程是否存在、获取进程列表、获取进程详细信息等。而且psutil还提供了许多命令行工具提供的功能,包括:ps,top,lsof,netstat,ifconfig, who,df,kill,free,nice,ionice,iostat,iotop,uptime,pidof,tty,taskset,pmap。

  psutil是一个跨平台的库,在官方网站上查到其支持如下操作系统。

- Linux
- Windows
- OSX
- FreeBSD
- OpenBSD
- NetBSD
- Sun Solaris
- AIX

Works with Python versions from 2.6 to 3.X.

安装psutil模块

  psutil是一个第三方的开源项目,因此需要安装才能使用。这里利用pip命令进行安装

pip3 install psutil

   psutil包含了异常、类、功能函数和常量,其中功能函数用来获取系统的信息,如CPU、磁盘、内存、网络等。类用来实现进程的管理功能。

功能函数

  根据函数的功能,这里主要分为以下几类,下面将会从几个维度来说明psutil提供的功能函数。

CPU相关

  cpu_count(,[logical]):默认返回逻辑CPU的个数,当设置logical的参数为False时,返回物理CPU的个数。

>>> import psutil
>>> psutil.cpu_count()
8
>>> psutil.cpu_count(logical=False)
4

  cpu_percent(,[percpu],[interval]):返回CPU的利用率,percpu为True时显示所有物理核心的利用率,interval不为0时,则阻塞时显示interval执行的时间内的平均利用率

>>> import psutil
>>> psutil.cpu_percent()
6.7
>>> psutil.cpu_percent(percpu=True)
[17.7, 0.9, 11.0, 1.0, 11.1, 0.9, 10.7, 0.9]
>>> psutil.cpu_percent(percpu=True,interval=2)
[16.0, 0.0, 8.5, 1.0, 14.4, 0.5, 9.5, 1.0]

  cpu_time(,[percpu]):以命名元组(namedtuple)的形式返回cpu的时间花费,percpu表示获取每个CPU的时间花费

>>> import psutil
>>> psutil.cpu_times()
scputimes(user=5471.2, nice=0.0, system=5633.92, idle=1295903.87, iowait=2651.2, irq=16.44, softirq=137.87, steal=0.0, guest=0.0)
>>> psutil.cpu_times(percpu=True)
[scputimes(user=2803.53, nice=0.0, system=2824.3, idle=648996.02, iowait=153.71, irq=16.26, softirq=64.71, steal=0.0, guest=0.0), 
scputimes(user=2667.74, nice=0.0, system=2809.74, idle=646935.11, iowait=2497.58, irq=0.18, softirq=73.15, steal=0.0, guest=0.0)]
1 >>> cpu_time = psutil.cpu_times()
2 >>> cpu_time.user      
3 5471.57
4 >>> 
5 # 直接使用.元素的名称就可以获取对应的值
命名元组获取信息的简便方法

相关文章:

  • 2021-06-10
  • 2021-07-19
  • 2021-07-17
  • 2022-12-23
  • 2022-12-23
  • 2021-07-23
  • 2021-05-24
猜你喜欢
  • 2021-10-09
  • 2021-12-11
  • 2021-07-10
  • 2022-02-08
  • 2022-12-23
  • 2021-07-14
相关资源
相似解决方案