【性能测试】【监控】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:制作图表

相关推荐
青少儿编程课堂6 分钟前
迪杰斯特拉(Dijkstra)算法:单源最短路与赛场路线规划
c++·python·算法·bfs·信息学竞赛
计算机编程指导师19 分钟前
【计算机毕设推荐】基于Hadoop+Spark的公共交通运营数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·数据分析·spark·交通
Wx-bishekaifayuan21 分钟前
springboot汉中旅游服务平台41442-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
WeiXin_DZbishe35 分钟前
基于springboot城市公交实时运营与调度系统-计算机毕设 附源码【课程设计】66173
java·vue.js·spring boot·后端·python·php·课程设计
泡茶喝茶写代码39 分钟前
A股量化数据工程:从 REST 接口到策略信号(第 18 篇):放量缩量异动扫描
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
WeiXin_DZbishe1 小时前
基于Springboot+AI的kuall音乐广场的设计与实现-计算机毕设 附源码【课程设计】12715
vue.js·人工智能·spring boot·后端·python·php·课程设计
沫璃染墨1 小时前
《Qt从零入门系列(十三):QSS样式表详解——从选择器与层叠规则到控件美化实战》
开发语言·css·c++·qt·ui·qt6.3·qss
达子6662 小时前
RUST 图解 第 3 章:通用编程概念(Common Programming Concepts)
开发语言·算法·rust
imgsq2 小时前
电子学会考级 vs CCF-GESP:两套少儿编程考级怎么选
python·青少年编程