监控主进程和子进程占用内存情况,内存使用情况

#!/bin/bash
prog=$1
memfile=1.txt
cpufile=2.txt
while true
do
    ########################################################################
    #==========================检查内存使用情况============================#
    ########################################################################

    # 遍历进程,计算主进程和子进程占用内存情况
    for pid in `pidof $prog`
    do
        process_mem=`cat /proc/$pid/status | awk  -F "[ ]+" '/VmRSS/{print $2}'`
        all_mem=$[process_mem+all_mem]
    done

    # 单位转换为MB
    # mem_size=`echo "${all_mem}/1024"|bc`

    echo "`date +%F-%T` : $prog used memery ${all_size}KB">>$memfile

    ########################################################################
    #==========================检查内存使用情况============================#
    ########################################################################
    all_cpu=`ps aux | grep $prog | grep -v grep | awk 'BEGIN {CPU=0}{CPU = CPU + $3}END {print CPU}'`
    echo "`date +%F-%T` : $prog used cpu ${all_cpu}%">>$cpufile

    # 每隔1秒执行一次
    #sleep 1
    all_mem=0
done

原文地址:https://www.cnblogs.com/fatzi/p/13426414.html