无标题 1 #!/bin/sh 2 #set -x 3 PROCNAME=$1 4 #PROCID=`ps -ef | grep $PROCNAME | grep -v grep | grep -v /bin/sh | awk '{print $2}'` 5 PROCID=`pidof $1` 6 LOG_FILE=${PROCNAME}_memory.log 7 TEMP=0 8 BT=0 9 10 if 11 12 13 echo > ./$LOG_FILE 14 while true; do 15 cd /proc/$PROCID 16 17 Rss=`cat smaps | grep Rss | awk 'BEGIN{x=0} {x+=$2} END{print x}'` 18 19 # SHARED_TOTAL=`expr $Shared_Clean + $Shared_Dirty` 20 # PRIVATE_TOTAL=`expr $Private_Clean + $Private_Dirty` 21 # TOTAL=`expr $SHARED_TOTAL + $PRIVATE_TOTAL` 22 23 if [ "${TEMP}" != "${Rss}" ]; then 24 CURRDATE=`date` 25 echo "pid: $PROCID, Name: $PROCNAME, Date: $CURRDATE Rss: $Rss KB" 26 TEMP="${Rss}" 27 fi 28 let BT++ 29 echo "bt: $BT" 30 31 if [ $TEMP -gt $Rss ]; then 32 let BT++ 33 echo "bt: $BT" 34 fi 35 36 37 sleep 1 38 done >> ./$LOG_FILE 39