Python语言-psutil模块
小标 2018-12-20 来源 : 阅读 1266 评论 0

摘要:本文主要向大家介绍了Python语言-psutil模块,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。

本文主要向大家介绍了Python语言-psutil模块,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。

psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率信息。它主要应用于系统监控,分析和限制系统资源及进程管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat等。。通常我们获取操作系统信息往往采用编写shell来实现,比如获取物理内存总大小以及已经使用大小,shell命令如下:

看看使用python的psutil模块如何实现

8bit(位)=1Byte(字节)
1024Byte(字节)=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB

获取系统性能信息
采集系统的基本性能信息包括CPU、内存、磁盘、网络等,可以完整描述当前系统的运行状态及质量。
1、采集CPU信息
可以使用psutil.cpu_times()方法可以非常简单的得到这些信息,同时也可以获取CPU的硬件相关信息,比如CPU的物理个数与逻辑个数,例如:

2、采集内存信息
Linux系统的内存利用率信息涉及total(内存总数)、used(已使用的内存数)、free(空闲内存数)、buffer(缓冲使用数)、cache(缓存使用数)、swap(交换分区使用数)等,分别可以使用psutil.virtual_memory()与psutil.swap_memory()方法获取信息,例如:

3、采集磁盘信息
在系统的所有磁盘信息中,我们比较关注的是磁盘的利用率和IO信息,其中磁盘利用率用psutil.disk_usage方法获取。磁盘IO信息包括read_count(读IO数)、write_count(写IO数)、read_bytes(IO读字节数)、write_bytes(IO写字节数)、read_time(磁盘读时间)、write_time(磁盘写时间)等,这些信息可以通过psutil.disk_io_counters()获取。

4、网络信息
系统的网络信息与磁盘IO类似,涉及几个关键点,包括bytes_sent(发送字节数)、bytes_recv(接收字节数)、packets_sent(发送数据包数)、packets_recv(接收数据包数)等。这些网络信息使用psutil.net_io_counters()方法获取。

5、获取用户登录、开机时间等信息

6、系统进程的管理方法
获得当前系统的进程信息,可以让我们得知应用程序的运行状态,包括进程的启动时间、查看或设置CPU亲和度、内存使用率、IO信息、socket连接、线程数,这些信息可以呈现出指定进程是否存活、资源利用情况。

7、popen类的使用
psutil提供的popen类的作用是获取用户启动的应用程序进程信息,以便追踪程序进程的运行状态。

本文由职坐标整理并发布,希望对同学们学习Python有所帮助,更多内容请关注职坐标编程语言Python频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 2 不喜欢 | 0
看完这篇文章有何感觉?已经有2人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程