本文实例为大家分享了Linux内存泄漏检测的shell脚本,供大家参考,具体内容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#!/bin/sh
if [ $ # -ne 1 ]; then
echo "Usage: `basename $0` process_name"
exit 1
fi
APPNAME=$1
PROC= "`ps -ef | grep " $APPNAME " | grep -v " grep " | grep -v " awk " | grep -v $0 | awk '{print $1}'`"
if [ -z $PROC ]; then
echo "invalid process_name"
exit 1
fi
SMAPS= "/proc/$PROC/smaps"
STATUS= "/proc/$PROC/status"
echo "proc ---$PROC----"
OLDHEAP= "0"
while :
do
#HEAP="`cat $STATUS | grep "VmData" | awk '{print $2}'`"
HEAP=` cat $SMAPS | grep -A 5 "heap" | grep "Rss" | awk '{print $2}' `
if [ $HEAP -lt $OLDHEAP ]; then
echo "`date` HEAP -`expr $OLDHEAP - $HEAP` to $HEAP kb"
OLDHEAP=$HEAP
elif [ $HEAP -gt $OLDHEAP ]; then
echo "`date` HEAP +`expr $HEAP - $OLDHEAP` to $HEAP kb"
OLDHEAP=$HEAP
fi
sleep 1
done
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。