美文网首页
linux下统计进程所占内存

linux下统计进程所占内存

作者: dhz120 | 来源:发表于2021-05-29 10:20 被阅读0次

实时统计程序所占内存情况,查内存泄漏用

#!/bin/bash

# 有错就退出
set -e

# 程序名
processName="Debug/tccmt/tccmt"

# 进程ID
processId=""

# 输出文件
outFile="/tmp/mem"

if [ $# -eq 1 ]; then
    processName=$1
elif [ $# -eq 2 ];then
    processName=$1
    processId=$2
elif [ $# -eq 3 ];then
    processName=$1
    processId=$2
    outFile=$3
fi

echo "processName: ${processName}, processId:${processId}, outFile=${outFile}"


# 统计间隔 (单位:秒)
period=30

# 文件存在则删除
if [ -e ${outFile} ]; then
    rm $outFile
fi

# 查看pid
if [ -z ${processId} ]; then
    processId=`ps -ef | grep ${processName} | head -1 | tr -s ' ' | cut -f2 -d' '`
    echo "grpe pid is $processId"
fi


while true
do
    time=`date "+%Y-%m-%d %H:%M:%S"`
    #echo $time

    # 查看进程所占用的内存
    useMem=`sudo cat /proc/${processId}/status | grep RssAnon`
    #echo $useMem

    msg="${time} ${useMem}"
    echo $msg

    # 同时记录到文件
    echo $msg >> $outFile

    # 10s统计一次
    sleep $period
done


相关文章

网友评论

      本文标题:linux下统计进程所占内存

      本文链接:https://www.haomeiwen.com/subject/lojysltx.html