使用Bash脚本进行进程性能监控

对一个Linux进程进行监控,使用Bash脚本实现。

使用ps命令对进程进行监控,使用循环加睡眠时间实现连续监控。

用法:

psmonitor.sh -p [pid] -d [interval] -n [statistics count]

参数:

-p 监控的进程ID

-d 读性能数据间隔

-n 统计次数,达到该次数,自动退出

#!/bin/bash
interval=0
count=0
pid=""
while getopts "p:d:n:" arg
do
        case $arg in
        p)
                pid=$OPTARG
                echo "pid: $pid"
                ;;
        d)
                interval=$OPTARG
                echo "interval:$interval"
                ;;
        n)
                count=$OPTARG
                echo "count:$count"
                ;;
        \?)
                echo "unkonw argument"
                exit 1
                ;;
        esac
done



i=0;

while [ true ]; do
        if [ $i -gt $count ]
        then
                exit 0;
        else
                let "i+=1"
        fi
         ps h -p $pid -o rss,vsz,%mem,%cpu
        sleep $interval

done

监控效果:

-bash-3.2$ ./psmonitor.sh -p 4181 -d 1 -n 10
pid: 4181
interval:1
count:10
1511232 2537664 37.3 2.4
1511232 2537664 37.3 2.4
1511232 2537664 37.3 2.4
1511232 2537664 37.3 2.4
1511232 2537664 37.3 2.4
1511232 2537664 37.3 2.4
1511232 2537664 37.3 2.4
1511232 2537664 37.3 2.4
1511232 2537664 37.3 2.4
1511232 2537664 37.3 2.4
1511232 2537664 37.3 2.4


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。