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

相关推荐
天若有情67314 小时前
程序员原创|借鉴JS事件冒泡,根治电脑文件混乱的“冒泡整理法”
开发语言·javascript·windows·ecmascript·电脑·办公·日常
七颗糖很甜15 小时前
电离层对地基雷达测量精度的影响分析与校正方法
python
特种加菲猫15 小时前
继承,一场跨越时空的对话
开发语言·c++
AC赳赳老秦15 小时前
知识产权辅助:用 OpenClaw 批量生成专利交底书 / 软著申请材料,自动校验格式与内容合规性
java·人工智能·python·算法·elasticsearch·deepseek·openclaw
小熊Coding16 小时前
Python2D射击冒险闯关游戏2.0版本
python·pygame
FYKJ_201016 小时前
springboot校园兼职平台--附源码02041
java·javascript·spring boot·python·eclipse·django·php
玩转单片机与嵌入式16 小时前
玩转边缘AI(TInyML):需要掌握的C++知识汇总!
开发语言·c++·人工智能
茉莉玫瑰花茶17 小时前
Qt 信号与槽 [ 1 ]
开发语言·数据库·qt
yanghuashuiyue17 小时前
Deep Agents 框架-CLI
python·langchain·langgraph·deepagents