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


    一、简介

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

    二、安装

    pip3 install psutil

    三、功能

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

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

    四、使用场景

    做性能测试时,如果服务没有提供对应的系统资源监控程序,这种情况下,可以使用psutil实现一个系统资源监控程序,
    用来监控 CPU使用率,内存使用率 ,磁盘使用率等指标。
    实现代码:

    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    实现效果
    在控制台会每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%
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

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

    步骤1:将数据粘贴到wps 表格中,这个时候,cpu,内存数据,都在一行
    在这里插入图片描述

    步骤2:使用数据,分列功能,将一行数据按空格分成多列
    在这里插入图片描述

    在这里插入图片描述
    步骤3:制作图表
    在这里插入图片描述

  • 相关阅读:
    ant design vue对话框关闭数据清空
    如何在h5和小程序中适配iphoneX及更高版本全面屏底部的安全区
    LeetCode 274. H 指数
    Leetcode——最长递增子序列
    小熊派-FreeRTOS-点灯学习过程-20221029
    PyQt5快速开发与实战 8.4 设置窗口背景 && 8.5 不规则窗口的显示
    高效代码静态测试工具Klocwork 2022.2——Portal全新升级、支持RLM
    基于C#+unity的2D跑酷闯关对战冒险游戏设计 课程报告+答辩PPT+源码
    IPsec协议
    Spring Cloud Alibaba Seata AT模式工作流程
  • 原文地址:https://blog.csdn.net/weixin_45589713/article/details/134055881