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

相关推荐
309556666几秒前
股票接口返回 404 与空数组的排查笔记:证书状态与级别参数
java·笔记·python·ios·iphone·股票数据api·股票数据接口
2601_9679801124 分钟前
世界上最好的Python编辑器是什么?我投PyCharm一票
ide·python·pycharm·数据科学·jupyter notebook
晴天的雨.99235 分钟前
【C++】继承篇
java·开发语言·c++
SomeOtherTime41 分钟前
第 1 讲:内存布局与所有权解剖——栈帧、胖指针与“移动/拷贝”在汇编层面的真实面目
java·开发语言·汇编
wuyk55542 分钟前
Spider-第09讲-三格式落盘CSV-Excel-JSON
爬虫·python·json·excel
青少儿编程课堂44 分钟前
蓝桥杯青少组图形化 + 全国青少年信息素养大赛 + 电子学会图形化考级:校园大富翁经营闯关解析
c++·python·算法·bfs·信息学竞赛
总要学点什么1 小时前
第106篇:三维特效-流动线效果——让一颗光点沿整条线一路滚到头
开发语言·javascript·ecmascript·gis·webgl·材质·cesium
特立独行的猫A7 小时前
用仓颉语言 cj-tauri 框架,五分钟给娃做了个鸿蒙形近字游戏
java·后端·python
大可不必了12 小时前
03 函数定义和调用
开发语言·python
I_belong_to_jesus12 小时前
C++关于分支预测的优化1
开发语言·c++·算法