在 linux 中,/proc/$PID/status 文件提供了該進(jìn)程資源(內(nèi)存,堆棧,信號量,子父進(jìn)程)的使用情況,雖然linux提供了不少查看內(nèi)存的命令,但都是看整體的使用情況,無法對單個(gè)進(jìn)程的內(nèi)存使用情況進(jìn)行查看。
本文為大家提供的這個(gè)腳本,通過查看status文件中VmRSS的字段來查看系統(tǒng)或進(jìn)程使用的內(nèi)存情況,有需要的朋友不妨參考下。
復(fù)制代碼:
#! /bin/bash
echo -n "PidName " > /root/script/pid.f
echo "MeMery " >> /root/script/pid.f
PIDPATH=http://www.3lian.com/proc/
TOTLE=0
cd $PIDPATH
DOC=`ls`
for DOCNAME in $DOC
do
if [ -d $DOCNAME ]; then
cd $DOCNAME
if [ -f status ];then
MEMERY=`grep VmRSS status | awk -F':' '{print $2}' | awk '{print $1}'`
PIDNAME=`grep Name 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