首页 > 系统相关 >【性能测试】性能监控-python编写(CPU | 内存 | 磁盘io)占比监控脚本

【性能测试】性能监控-python编写(CPU | 内存 | 磁盘io)占比监控脚本

时间:2023-07-15 16:36:33浏览次数:36  
标签:监控 性能 print io memory usage output disk

一、主要通过Python脚本实现对linux环境(CPU | 内存 | 磁盘io)监控

脚本示例:

import time
import subprocess

# 获取 CPU 使用率
def get_cpu_usage():
    #系统 CPU 占比 = 系统态占比 + 空闲态占比 = 3.2% + 36.5% = 39.7%
    cpu_usage = subprocess.check_output("top -bn1 | grep 'Cpu(s)' | awk '{print $2 + $4}'", shell=True)
    cpu_usage = cpu_usage.decode().strip()
    print(f"CPU 使用率:{cpu_usage}%")

# 获取内存占用
def get_memory_usage():
    memory_output = subprocess.check_output("free -m | awk 'NR==2{printf \"%s/%sMB (%.2f%%)\", $3,$2,$3*100/$2 }'", shell=True)
    memory_output = memory_output.decode().strip()
    print(f"内存占用:{memory_output}")

# 获取磁盘 I/O
def get_disk_io():
    disk_io = subprocess.check_output("iostat -d -k | awk 'NR==4 {print $3, $4}'", shell=True)
    disk_io = disk_io.decode().strip().split()
    if len(disk_io) >= 2:
        disk_read_bytes = float(disk_io[0]) / 1024
        disk_write_bytes = float(disk_io[1]) / 1024
        print(f"磁盘读取:{disk_read_bytes:.2f} MB/s")
        print(f"磁盘写入:{disk_write_bytes:.2f} MB/s")
    else:
        print("无法获取磁盘 I/O 信息")


# 主函数,定时监控
def main():
    while True:
        get_cpu_usage()
        get_memory_usage()
        get_disk_io()
        print("----------------------")
        # 设置监控间隔,单位为秒
        time.sleep(5)

if __name__ == '__main__':
    main()

返回结果:

 备注:

脚本需要进入指定linux目录执行:

python3 cpu_memory_disk_io.py

 

  

标签:监控,性能,print,io,memory,usage,output,disk
From: https://www.cnblogs.com/xfbk/p/17541823.html

相关文章

  • axios详解以及完整封装方法
    """一、axios是什么Axios是一个基于promise网络请求库,作用于node.js和浏览器中。它是isomorphic的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生node.jshttp模块,而在客户端(浏览端)则使用XMLHttpRequests。axios有以下特性:从浏览器创建X......
  • [论文速览] A Closer Look at Self-supervised Lightweight Vision Transformers
    Pretitle:ACloserLookatSelf-supervisedLightweightVisionTransformersaccepted:ICML2023paper:https://arxiv.org/abs/2205.14443code:https://github.com/wangsr126/mae-literef:https://mp.weixin.qq.com/s/7FiDLYBZiAX-xkW-dZBU9Q关键词:lightweght,ViT......
  • AI绘画Stable Diffusion实战操作: 62个咒语调教-时尚杂志封面
    今天来给大家分享,如何用sd简单的咒语输出好看的图片的教程,今天做的是时尚杂志专题,话不多说直入主题。还不会StableDiffusion的基本操作,推荐看看这篇保姆级教程:AI绘画:StableDiffusion终极炼丹宝典:从入门到精通飞书原文链接:AI绘画StableDiffusion实战操作:62个咒语调教-时尚杂......
  • VS(VisualStudio) 远程调试 (RemoteDebugger)
    VS远程调试方法,下面用一张图说明:参考:https://blog.csdn.net/qq_33538554/article/details/98957450,下面是详情操作:注意:另一篇博文可以参考:https://mp.weixin.qq.com/s/G4m5v7l4kCwvM9LtKu0zVQ......
  • python实现iou计算
    importnumpyasnpdefiou(box1,box2):x1,y1,x2,y2=box1w1,h1,w2,h2=box2left_max=max(x1,w1)right_min=min(x2,w2)top_max=max(y1,h1)bot_min=min(y2,h2)ifleft_max>=right_minortop_max>=bot_......
  • 华普物联 RS485转以太网IO控制器 河南华普 HPIOT
    支持8路继电器输出、8路输入,支持50CKET连接远程服务器;支持WEB网页设置设备参数,支持主动上报功能,支持两种工作模式:主机模式、从机模式,主机模式支持RS485级联多个MODBUSRTU设备,支持MODBUSTCP/RTU协议自适应,支持连接华普华普云支持8个条件控制指令控制更加便捷,支持硬件看门狗。......
  • 华普物联 CAT 1/4G网络IO控制器 河南华普 HPIOT
    支持8路继电器输出、8路输入;支持50CKET支持两种工作模式:主机模式、从机模式,主机模式,支持RS485级联多个MODBUSRTU设备,支持连接华普云;支持硬件看门狗,电源具有良好的过流、过压、防反接保护等功能。公司介绍华普物联科技产品包括物联网网关、工业无线路由器、LoRa基站、......
  • 华普物联两路IO串口继电器 MODBUS IO 河南华普 HPIOT
    采用标准Modbus-RTU协议的继电器设备支持RS485。支持宽电压供电,支持2路DI输入、2路DO输出、2路模拟量输入,可广泛应用于工业生产、农业、智慧城市、写字楼等各类应用场景。公司介绍华普物联科技产品包括物联网网关、工业无线路由器、LoRa基站、DTU、RTU、远程IO等产品,以......
  • MinIO 搭建
    官网:https://min.io中文官网http://www.minio.org.cn,http://dl.minio.org.cnGitHub:https://github.com/minio对象存储服务OSS(ObjectStorageService)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存......
  • 华普物联16路IO串口继电器 MODBUS IO 河南华普 HPIOT
    是采用标准Modbus-RTU协议的继电器设备,支持RS485。支持宽电压供电,16路输出控制支持硬件和软件设置从机地址,可广泛应用于工业生产、农业、智慧城市、写字楼等各类应用场景。公司介绍华普物联科技产品包括物联网网关、工业无线路由器、LoRa基站、DTU、RTU、远程IO等产品......