欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2022-06-13 18:52:48
 在 linux 中,/proc/$pid/status 文件提供了该进程资源(内存,堆栈,信号量,子父进程)的使用情况,虽然linux提供了不少查看内存的命令,...

 在 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