位置:海鸟网 > IT > linux/Unix >

查看linux内存使用情况的shell脚本

在 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`

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