问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用Shell脚本监控系统内存状况并生成CSV图表

创作时间:
作者:
@小白创作中心

使用Shell脚本监控系统内存状况并生成CSV图表

引用
CSDN
1.
https://blog.csdn.net/qq_41573572/article/details/138141157

本文将介绍如何使用shell脚本监控系统内存状况。通过使用free命令监测系统内存,并通过脚本生成csv文件,最后用Excel生成折线图展示内存使用情况。

测试环境

imx6ull开发板

测试步骤

  1. 将脚本文件拷贝至root目录
  2. 后台运行free_csv.sh脚本文件
  3. 前台运行memtester 10M 1,结束后紧接着运行几次
  4. 脚本结束后得到csv文件

整理数据

  1. 将csv用excel打开,选中第一行有内容的部分,按ctrl+shift+↓即可选中所有数据
  2. 生成折线图

结果

符合预期

脚本

#!/bin/sh
time=`date "+%Y.%m.%d_%H.%M.%S"`
i=1
times=300
test_result_path=/tmp/test_result
free_meminfo_report=$test_result_path/meminfo_$time.csv
free_swapinfo_report=$test_result_path/swapinfo_$time.csv
free_report_fun()
{
    if [ ! -d $test_result_path ]; then
        mkdir $test_result_path
    fi
    
    if [ -f $free_meminfo_report ]; then
        rm -rf $free_meminfo_report
    fi
    
    if [ -f $free_swapinfo_report ]; then
        rm -rf $free_swapinfo_report
    fi
    
    free |awk -F " " 'NR==1 {print $1","$2","$3","$4","$5","$6}'>$free_meminfo_report
    free |awk -F " " 'NR==1 {print $1","$2","$3}'>$free_swapinfo_report
    while [ $i -le $times ]
    do
        free |awk -F " " 'NR==2 {print $2","$3","$4","$5","$6","$7}'>>$free_meminfo_report
        free |awk -F " " 'NR==3 {print $2","$3","$4}'>>$free_swapinfo_report
        let i++
        sleep 1
    done
    echo "------- free report done --------"
    
}
free_report_fun

参考链接

CSDN
Linux下实现脚本监测特定进程占用内存情况

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号