• linux 系统层/用户层资源使用信息监控


    背景:真实场景下的资源使用信息会被记录并整理成trace,根据有影响力的公司公布出来的trace还原该场景下的资源特征可帮助学术届进一步研究优化.首先,目标是还原目标trace中的资源使用特征,就得对平台的资源进行监控,本文实验环境:Ubuntu16.04,使用sar进行所需资源的监控.

    sar -u 1 10
    

     这个指令是对cpu资源使用特征进行监控,每隔1s输出监控信息,共10次结束.对于监控信息的存储,也可用-o选项.

    sar -u 1 10 -o /home/xxx
    

     这样会直接在-o目录生成一个二进制文件,查看的话,直接点开是乱码,用以下代码能够在终端查看:

    sar -f sa14
    

     但是我们在提取有效信息的时候往往需要直接记录在txt文件中,这样方便些,这时可以用以下代码:

    sar -u 1 10 > /home/odin/Documents/CloudArch/cpudata.txt
    

     直接将终端信息输出重定向到制定txt文件中.

    (loading)

    CPU     %user     %nice   %system   %iowait    %steal     %idle
    

     输出参数如上所示,代表CPU资源占用的几个指标:

    %user:表示用户空间程序的cpu使用率

    %nice:表示用户空间且通过nice调度过的程序的cpu使用率

    %system:表示系统空间的cpu使用率,主要是内核程序

    %iowait:cpu运行时在等待io的时间

    %steal:被虚拟机偷走的cpu资源

    %idle:空闲的cpu资源率

     对于输出得到的文件,我们下一步需要提取出我们需要的信息,在这里以用户资源占用为例:针对所需资源的提取,可以用python写个小脚本实现.

    file = open('/Users/purixingtei/Desktop/cpudata.txt','r')
    result = list()
    for c in file.readlines():
        c_array = c.split()
        result.append(c_array[3])
    result.pop()

     为了直观观察小程序的资源使用特征,我们可以用折线图表示:

    x = range(1000)
    plt.plot(x, result, mec = 'r', mfc = 'w')
    plt.margins(0)
    plt.subplots_adjust(bottom=0.15)
    plt.show()
    

    得到下图的资源使用特征图:

    附测试负载为shell脚本实现的浮点数运算:

    #!/bin/bash
    a=59
    b=60
    while true
    do
    echo "scale=4; $a / $b"|bc
    done
    

      

  • 相关阅读:
    Struts2学习笔记(四) Action(中)
    Struts2学习笔记(十) OGNL
    asp.net连接Access数据库。一般都怎么连有几种连法
    网络跃迁——C/S到B/S的“惊世一跃”
    用ASP打开远端MDB文件的方法
    solution to DreamweaverCtrls.dll
    for debugging on site,the web.config should be edited as follows
    For web.config setting,reference the book of
    1. need mssql connection method for dotnet vhost,etc
    蔡学镛推荐的编程语言REBOL编程初体验
  • 原文地址:https://www.cnblogs.com/o-din/p/9183053.html
Copyright © 2020-2023  润新知