pythonpsutils模块详解_Python运维自动化psutil 模块详解(超级详细)

本文详细介绍了Python的psutil模块,这是一个跨平台库,用于获取系统进程和资源利用率信息,如CPU、内存、磁盘、网络等。文章涵盖了模块的安装、使用方法,包括获取CPU信息、内存信息、磁盘信息和网络信息,并提供了多个示例代码,适合系统管理员和运维人员使用。
摘要由CSDN通过智能技术生成

psutil 模块

一、psutil简介

psutil是一个开源且跨平台的库,能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。

在Python中获取系统信息的另一个好办法是使用psutil这个第三方模块。还可以跨平台使用,支持Linux/UNIX/OSX/Windows等,是系统管理员和运维小伙伴不可或缺的必备模块。

Works with Python versions from 2.4 to 3.X.

二、安装psutil模块????CentOS安装psutil包:

????python版本:5.8

wget https://pypi.python.org/packages/source/p/psutil/psutil-5.8.0.tar.gz

tar zxvf psutil-5.8.0.tar.gz

cd psutil-5.8.0

yum -y install python-devel  (如果提示缺少python.h头文件,执行此命令。)

python setup.py install

????Windos安装psutil包:

root@shawn:~# pip3 install psutil

Collecting psutil

Downloading psutil-5.8.0-cp38-cp38-manylinux2010_x86_64.whl (296 kB)

|████████████████████████████████| 296 kB 20 kB/s

Installing collected packages: psutil

Successfully installed psutil-5.8.0

三、使用psutil模块

1.获取CPU信息:

1.1使用psutil.cpu_times()方法使用psutil.cpu_times()获取CPU的完整信息>>> import psutil

>>> psutil.cpu_times()

scputimes(user=733.23, nice=2.62, system=122.87, idle=19414.35, iowait=29.46, irq=0.0, softirq=34.18, steal=0.0, guest=0.0, guest_nice=0.0)获取单个数据,如用户的cpu时或io等待时间。>>> psutil.cpu_times().user

793.19

>>> psutil.cpu_times().iowait

31.79

1.2psutil.cpu_count()获取CPU个数使用psutil.cpu_count()获取CPU逻辑个数#cpu_count(,[logical]):默认返回逻辑CPU的个数,当设置logical的参数为False时,返回物理CPU的个数。

>>> psutil.cpu_count()

8

使用psutil.cpu_count(logical=False)获取CPU的物理个数,默认logical值为True>>> psutil.cpu_count(logical=False)

8

1.3psutil.getloadavg()获取平均系统负载使用psutil.getloadavg()可以获取平均系统负载,会以元组的形式返回最近1、5和15分钟内的平均系统负载。???? 在Windows上,这是通过使用Windows API模拟的,该API产生一个线程,该线程保持在后台运行,并每5秒更新一次结果,从而模仿UNIX行为。 因此,在Windows上,第一次调用此方法,在接下来的5秒钟内,它将返回无意义的(0.0,0.0,0.0)元组。

>>> psutil.getloadavg()

(1.22, 1.41, 1.38)

1.4、psutil.cpu_percent()获取CPU使用率cpu_percent(,[percpu],[interval]):返回CPU的利用率interval:指定的是计算cpu使用率的时间间隔,interval不为0时,则阻塞时显示interval执行的时间内的平均利用率

percpu:指定是选择总的使用率或者每个cpu的使用率,percpu为True时显示所有物理核心的利用率????1.指定的是计算cpu使用率的时间间隔

>>> for x in range(10):

...     psutil.cpu_percent(interval=1)

...

2.4

2.5

2.7

2.3

2.5

2.2

2.0

2.2

2.4

2.2

????2.实现类似top命令的CPU使用率,每秒刷新一次,累计10次:

>>> for x in range(10):

...     psutil.cpu_percent(interval=1,percpu=True)

...

[1.0, 3.1, 5.0, 4.0, 0.0, 4.0, 3.0, 2.0]

...

[1.0, 1.0, 6.1, 3.1, 2.0, 2.1, 0.0, 0.0]

[2.0, 1.0, 6.0, 4.9, 1.0, 5.1, 1.0, 1.0]

1.5psutil.cpu_stats()获取CPU的统计信息cpu_stats()以命名元组的形式返回CPU的统计信息,包括上下文切换,中断,软中断和系统调用次数。>>> psutil.cpu_stats()

scpustats(ctx_switches=3928927, interrupts=2319133, soft_interrupts=1974116, syscalls=0)

1.6、psutil.cpu_freq()获取CPU频率cpu_freq([percpu]):返回cpu频率>>> psutil.cpu_freq()

scpuf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值