#!/bin/bash
while :
do
echo "******************************************"
RSS=0
for PROC in `ls /proc/|grep "^[0-9]"`
do
if [ -f /proc/$PROC/statm ]; then
TEP=`cat /proc/$PROC/statm | awk '{print ($2)}'`
RSS=$((RSS+TEP))
SCORE=`cat /proc/$PROC/oom_score`
if [ $TEP != 0 ]; then
NAME=`ps | awk '{print $1,$4}'|grep $PROC`
echo $NAME:$((TEP \* 4))KB oom_score:$SCORE
fi
fi
done
RSS=`expr $RSS \* 4`
echo all memory:$RSS"KB"
sleep 60
done;
可在后台运行该脚本,每60s执行一次。