码迷,mamicode.com
首页 > 编程语言 > 详细

Python模块学习 - psutil

时间:2018-01-07 23:28:02      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:pytho   tuple   owa   bsd   工具   rup   iotop   microsoft   时间   

psutil模块介绍

  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 # 直接使用.元素的名称就可以获取对应的值
命名元组获取信息的简便方法

  cpu_times_percent(,[percpu]):功能和cpu_times大致相同,看字面意思就能知道,该函数返回的是耗时比例。

 

>>> import psutil
>>> psutil.cpu_times_percent()
scputimes(user=0.3, nice=0.0, system=0.4, idle=99.0, iowait=0.3, irq=0.0, softirq=0.0, steal=0.0, guest=0.0)
>>> psutil.cpu_times_percent(percpu=True)
[scputimes(user=0.3, nice=0.0, system=0.4, idle=99.3, iowait=0.0, irq=0.0, softirq=0.0, steal=0.0, guest=0.0),
scputimes(user=0.3, nice=0.0, system=0.4, idle=98.7, iowait=0.6, irq=0.0, softirq=0.0, steal=0.0, guest=0.0)]

 

  cpu_stats:以命名元组的形式返回CPU的统计信息,包括上下文切换,中断,软中断和系统调用次数。

>>> import psutil
>>> psutil.cpu_stats()
scpustats(ctx_switches=393538808, interrupts=194683724, soft_interrupts=151546977, syscalls=0)

 

  

 

  

 

Python模块学习 - psutil

标签:pytho   tuple   owa   bsd   工具   rup   iotop   microsoft   时间   

原文地址:https://www.cnblogs.com/dachenzi/p/8232534.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!