继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

python-psutil模块

慕UI0519722
关注TA
已关注
手记 296
粉丝 85
获赞 267

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

看看使用python的psutil模块如何实现
https://img1.mukewang.com/5b1f933100015c8403680098.jpg

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

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

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

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()获取。
https://img1.mukewang.com/5b1f93520001e52308300199.jpg

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

5、获取用户登录、开机时间等信息
https://img3.mukewang.com/5b1f93670001048e09230083.jpg

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

https://img.mukewang.com/5b1f937b0001524207030385.jpg

7、popen类的使用
psutil提供的popen类的作用是获取用户启动的应用程序进程信息,以便追踪程序进程的运行状态。
https://img2.mukewang.com/5b1f93840001d54407800153.jpg

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP