通用的进程统计显示脚本程序

上次为了监控服务器上的nfodb rails应用,写了一个自动监控重启脚本,稍加改造后,即成了一个通用的进程监控显示程序。

 

#!/bin/bash

if [ -z $1 ]; then
    PROCESS='nfodb'
else
    PROCESS=$1
fi

ps -eo pid,pcpu,pmem,rsz,vsz,args|grep $PROCESS|egrep -v "grep|show_process"|awk 'BEGIN { line="--------------------------------------------------------------------------------------------"; print "进程查看程序 PROGRAMING BY ZXP 2009年2月\n"line;i=0;cpu=0;mem=0;rsz=0;vsz=0;print "PID\tCPU\tMEM\tRSZ\tVSZ\tPROC"} {print $1"\t"$2"%\t"$3"%\t"$4"\t"$5"\t"$6" "$7" "$8" "$9" "$10" "$11" "$12; i+=1; cpu+=$2; mem+=$3; rsz+=$4; vsz+=$5} END {print line; mrsz=rsz/1024;mvsz=vsz/1024;printf("TOTAL\t%2.1f%%\t%2.1f%%\t%2.1fMB\t%2.1fMB\t%d 个进程,物理内存占用 %2.1f兆,虚拟内存占用 %2.1f兆\n", cpu, mem, mrsz, mvsz, i, mrsz, mvsz)}'
 

把上述代码保存为show_process.sh文件,加上执行属性,执行时可以加上进程中的部分字符以显示此类进程占用的全部CPU与内存资源情况,不加参数则缺省显示nfodb应用所占用的CPU与内存情况。执行结果如下

 

# show_process.sh php
进程查看程序 PROGRAMING BY ZXP 2009年2月
--------------------------------------------------------------------------------------------
PID     CPU     MEM     RSZ     VSZ     PROC
2108    0.0%    0.0%    92      2768    /bin/su -m -c /usr/bin/php-cgi -q -b 127.0.0.1:5000
2069    1.3%    0.6%    6268    28076   /usr/bin/php-cgi -q -b 127.0.0.1:5000   
2109    0.0%    0.0%    172     26604   /usr/bin/php-cgi -q -b 127.0.0.1:5000   
2113    0.0%    0.2%    2192    40108   /usr/bin/php-cgi -q -b 127.0.0.1:5000   
32179   0.3%    1.0%    10540   30624   /usr/bin/php-cgi -q -b 127.0.0.1:5000   
32227   0.4%    1.8%    19524   38992   /usr/bin/php-cgi -q -b 127.0.0.1:5000   
32347   0.3%    1.7%    18540   38992   /usr/bin/php-cgi -q -b 127.0.0.1:5000   
--------------------------------------------------------------------------------------------
TOTAL   2.3%    5.3%    56.0MB  201.3MB 7 个进程,物理内存占用 56.0兆,虚拟内存占用 201.3兆

 

 

你可能感兴趣的:(PHP,应用服务器,脚本,cgi,Rails)