在 linux 系统中,/proc/$PID/status 文件给我们提供了该进程资源(内存,堆栈,信号量,子父进程)的使用情况,虽然linux为我们提供了不少查看内存的命令,但都是看整体的使用情况,无法对单个进程的内存使用情况进行查看
以下的这个脚本就是通过查看status文件中VmRSS的字段来看系统或者进程使用的内存情况,脚本如下:
#! /bin/bash
echo-n"PidName " > /root/script/pid.f
echo "MeMery " >> /root/script/pid.f
PIDPATH=/proc/
TOTLE=0
cd$PIDPATH
DOC=`ls`
forDOCNAMEin$DOC
do
if[ -d $DOCNAME ]; then
cd$DOCNAME
if[ -f status ];then
MEMERY=`grepVmRSS status | awk-F':''{print $2}' | awk'{print $1}'`
PIDNAME=`grepName status | awk-F':''{print $2}'`
if[ $MEMERY ]; then
echo-n $PIDNAME >> /root/script/pid.f
echo-n" " >> /root/script/pid.f
echo $MEMERY >> /root/script/pid.f
TOTLE=`expr$TOTLE + $MEMERY`
cd..
else
cd..
fi
else
cd..
fi
fi
done
TOTLE=`expr$TOTLE / 1024`
echo"TOTLE USERD: $TOTLE MB" >> /root/script/pid.f
cat /root/script/pid.f