Chinaunix首页 | 论坛 | 博客
  • 博客访问: 592723
  • 博文数量: 57
  • 博客积分: 877
  • 博客等级: 准尉
  • 技术积分: 1275
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-24 16:16
文章分类

全部博文(57)

文章存档

2014年(2)

2013年(15)

2012年(20)

2011年(20)

我的朋友

分类: 系统运维

2013-02-01 22:22:06

       在 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

阅读(6589) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~