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

相关推荐
小白学大数据1 小时前
Python爬虫常见陷阱:Ajax动态生成内容的URL去重与数据拼接
爬虫·python·ajax
2401_841495642 小时前
【计算机视觉】基于复杂环境下的车牌识别
人工智能·python·算法·计算机视觉·去噪·车牌识别·字符识别
Adorable老犀牛2 小时前
阿里云-ECS实例信息统计并发送统计报告到企业微信
python·阿里云·云计算·企业微信
ONE_PUNCH_Ge2 小时前
Go 语言变量
开发语言
幼稚园的山代王2 小时前
go语言了解
开发语言·后端·golang
倔强青铜三2 小时前
苦练Python第66天:文件操作终极武器!shutil模块完全指南
人工智能·python·面试
倔强青铜三2 小时前
苦练Python第65天:CPU密集型任务救星!多进程multiprocessing模块实战解析,攻破GIL限制!
人工智能·python·面试
晚风残3 小时前
【C++ Primer】第六章:函数
开发语言·c++·算法·c++ primer
Panda__Panda3 小时前
docker项目打包演示项目(数字排序服务)
运维·javascript·python·docker·容器·c#
满天星83035773 小时前
【C++】AVL树的模拟实现
开发语言·c++·算法·stl