【性能测试】【监控】Python使用psutil实现一个简单的系统资源监控

一、简介

Psutil 是一个跨平台的库,可以实现在不同的操作系统(Linux、Windows、MacOS等)下查看CPU、内存、磁盘、网络等系统资源,以及操作进程信息和系统运行状态等。这使得Psutil成为一个重要的系统监控工具,也是很多Python监控和自动化工具必备的模块之一。

二、安装

pip3 install psutil

三、功能

Psutil模块提供了非常丰富的功能,包括:

  • 获取CPU的核心数、使用率百分比、时间、负载等信息
  • 获取内存占用率、使用量、可用量、swap分区信息等
  • 获取磁盘分区信息、磁盘IO读写速率、磁盘空间使用情况等
  • 获取系统启动时间、用户列表、进程ID、进程命令行、内存使用率、CPU使用率、线程数等
  • 获取网络的监控信息、网络连接列表、网络IO流量统计等

四、使用场景

做性能测试时,如果服务没有提供对应的系统资源监控程序,这种情况下,可以使用psutil实现一个系统资源监控程序,

用来监控 CPU使用率,内存使用率 ,磁盘使用率等指标。

实现代码:

python3 复制代码
import psutil
import time
import datetime

print("当前日期   时间            CPU使用率  内存使用率  磁盘使用率")
while True:
    cpu_usage = psutil.cpu_percent(interval=1)
    memory_usage = psutil.virtual_memory().percent
    disk_usage = psutil.disk_usage('/').percent
    current_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    print(current_time,"    ",str(cpu_usage)+"%    ",str(memory_usage)+"%    ",str(disk_usage)+"%")
    time.sleep(0)

实现效果

在控制台会每1秒打印收集的 CPU使用率 内存使用率 磁盘使用率,

然后将数据粘贴到wps上,画出折现图,直观看到变化趋势。

当前日期   时间            CPU使用率  内存使用率  磁盘使用率
2023-10-26 14:46:58      30.2%     82.4%     11.3%
2023-10-26 14:46:59      21.6%     82.1%     11.3%
2023-10-26 14:47:00      23.4%     82.5%     11.3%
2023-10-26 14:47:01      23.5%     82.6%     11.3%
2023-10-26 14:47:02      30.0%     82.1%     11.3%
2023-10-26 14:47:03      14.2%     81.9%     11.3%
2023-10-26 14:47:04      14.8%     81.5%     11.3%
2023-10-26 14:47:05      15.3%     81.4%     11.3%
2023-10-26 14:47:06      14.0%     81.3%     11.3%
2023-10-26 14:47:07      19.0%     81.0%     11.3%
2023-10-26 14:47:08      16.0%     81.0%     11.3%
2023-10-26 14:47:09      15.6%     81.6%     11.3%
2023-10-26 14:47:10      16.2%     81.4%     11.3%
2023-10-26 14:47:11      15.1%     81.4%     11.3%
2023-10-26 14:47:12      14.5%     81.1%     11.3%
2023-10-26 14:47:13      14.3%     81.0%     11.3%
2023-10-26 14:47:14      14.3%     81.0%     11.3%
2023-10-26 14:47:15      13.7%     81.1%     11.3%
2023-10-26 14:47:16      14.5%     81.1%     11.3%
2023-10-26 14:47:17      15.9%     81.6%     11.3%
2023-10-26 14:47:18      15.1%     80.9%     11.3%
2023-10-26 14:47:19      20.0%     81.0%     11.3%
2023-10-26 14:47:20      16.2%     81.0%     11.3%
2023-10-26 14:47:21      18.3%     80.9%     11.3%
2023-10-26 14:47:22      15.1%     81.4%     11.3%
2023-10-26 14:47:23      15.7%     81.1%     11.3%
2023-10-26 14:47:24      16.1%     81.9%     11.3%
2023-10-26 14:47:25      14.5%     81.9%     11.3%
2023-10-26 14:47:26      15.0%     81.6%     11.3%
2023-10-26 14:47:27      14.1%     81.4%     11.3%
2023-10-26 14:47:28      21.2%     80.8%     11.3%
2023-10-26 14:47:29      16.0%     80.9%     11.3%
2023-10-26 14:47:30      16.6%     81.4%     11.3%
2023-10-26 14:47:31      15.2%     80.9%     11.3%
2023-10-26 14:47:32      16.0%     81.3%     11.3%
2023-10-26 14:47:33      15.0%     81.0%     11.3%
2023-10-26 14:47:34      15.0%     81.5%     11.3%
2023-10-26 14:47:35      23.9%     82.4%     11.3%

五、cpu统计数据在wps上直观显示

步骤1:将数据粘贴到wps 表格中,这个时候,cpu,内存数据,都在一行

步骤2:使用数据,分列功能,将一行数据按空格分成多列

步骤3:制作图表

相关推荐
计算机编程-吉哥3 分钟前
计算机毕业设计 基于Python的社交音乐分享平台的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档
python·django·毕业设计·课程设计·毕业论文·计算机毕业设计选题·音乐分享平台
shinelord明11 分钟前
【Python】Python知识总结浅析
开发语言·人工智能·python
吹老师个人app编程教学15 分钟前
阿里巴巴_java开发规范手册详解
java·开发语言
初阳78535 分钟前
【Qt】控件概述(4)—— 输出类控件
开发语言·qt·命令模式
大白_dev38 分钟前
数据校验的总结
java·开发语言
雷神乐乐41 分钟前
Python常用函数
开发语言·python
失落的香蕉44 分钟前
Java第二阶段---10方法带参---第三节 面向对象和面向过程的区别
java·开发语言
安冬的码畜日常1 小时前
【玩转 JS 函数式编程_008】3.1.2 JavaScript 函数式编程筑基之:箭头函数——一种更流行的写法
开发语言·javascript·ecmascript·es6·this·箭头函数
只会掉头发的程序猿1 小时前
在QT中将Widget提升为自定义的Widget后,无法设置Widget的背景颜色问题解决方法
开发语言·qt
model20052 小时前
android + tflite 分类APP开发-1
python·tflite·model maker