|
pid=$$ |
|
|
|
|
|
# Warm up |
|
|
beg=`ps -o pid,vsz | grep "^ *$pid "` |
|
|
i=1 |
|
|
while test $i != X; do |
|
|
unset t |
|
|
t=111111111111111111111111111111111111111111111111111111111111111111111111 |
|
|
export t |
|
|
unset t |
|
|
t=111111111111111111111111111111111111111111111111111111111111111111111111 |
|
|
export t |
|
|
unset t |
|
|
t=111111111111111111111111111111111111111111111111111111111111111111111111 |
|
|
export t |
|
|
unset t |
|
|
t=111111111111111111111111111111111111111111111111111111111111111111111111 |
|
|
export t |
|
|
unset t |
|
|
t=111111111111111111111111111111111111111111111111111111111111111111111111 |
|
|
export t |
|
|
i=1$i |
|
|
if test $i = 1111111111111111111111111111111111111111111111; then i=2; fi |
|
|
if test $i = 1111111111111111111111111111111111111111111112; then i=3; fi |
|
|
if test $i = 1111111111111111111111111111111111111111111113; then i=4; fi |
|
|
if test $i = 1111111111111111111111111111111111111111111114; then i=5; fi |
|
|
if test $i = 1111111111111111111111111111111111111111111115; then i=6; fi |
|
|
if test $i = 1111111111111111111111111111111111111111111116; then i=7; fi |
|
|
if test $i = 1111111111111111111111111111111111111111111117; then i=8; fi |
|
|
if test $i = 1111111111111111111111111111111111111111111118; then i=9; fi |
|
|
if test $i = 1111111111111111111111111111111111111111111119; then i=a; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111a; then i=b; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111b; then i=c; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111c; then i=d; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111d; then i=e; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111e; then i=f; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111f; then i=g; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111g; then i=h; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111h; then i=i; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111i; then i=j; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111j; then i=X; fi |
|
|
done |
|
|
end=`ps -o pid,vsz | grep "^ *$pid "` |
|
|
|
|
|
# Warm up again (I do need it on my machine) |
|
|
beg=`ps -o pid,vsz | grep "^ *$pid "` |
|
|
i=1 |
|
|
while test $i != X; do |
|
|
unset t |
|
|
t=111111111111111111111111111111111111111111111111111111111111111111111111 |
|
|
export t |
|
|
unset t |
|
|
t=111111111111111111111111111111111111111111111111111111111111111111111111 |
|
|
export t |
|
|
unset t |
|
|
t=111111111111111111111111111111111111111111111111111111111111111111111111 |
|
|
export t |
|
|
unset t |
|
|
t=111111111111111111111111111111111111111111111111111111111111111111111111 |
|
|
export t |
|
|
unset t |
|
|
t=111111111111111111111111111111111111111111111111111111111111111111111111 |
|
|
export t |
|
|
i=1$i |
|
|
if test $i = 1111111111111111111111111111111111111111111111; then i=2; fi |
|
|
if test $i = 1111111111111111111111111111111111111111111112; then i=3; fi |
|
|
if test $i = 1111111111111111111111111111111111111111111113; then i=4; fi |
|
|
if test $i = 1111111111111111111111111111111111111111111114; then i=5; fi |
|
|
if test $i = 1111111111111111111111111111111111111111111115; then i=6; fi |
|
|
if test $i = 1111111111111111111111111111111111111111111116; then i=7; fi |
|
|
if test $i = 1111111111111111111111111111111111111111111117; then i=8; fi |
|
|
if test $i = 1111111111111111111111111111111111111111111118; then i=9; fi |
|
|
if test $i = 1111111111111111111111111111111111111111111119; then i=a; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111a; then i=b; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111b; then i=c; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111c; then i=d; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111d; then i=e; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111e; then i=f; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111f; then i=g; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111g; then i=h; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111h; then i=i; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111i; then i=j; fi |
|
|
if test $i = 111111111111111111111111111111111111111111111j; then i=X; fi |
|
|
done |
|
|
end=`ps -o pid,vsz | grep "^ *$pid "` |
|
|
if test "$beg" != "$end"; then |
|
|
true echo "vsz grows: $beg -> $end" |
|
|
else |
|
|
true echo "vsz does not grow" |
|
|
fi |
|
|
|
|
1 |
echo "Measuring memory leak..." |
echo "Measuring memory leak..." |
|
beg=`ps -o pid,vsz | grep "^ *$pid "` |
|
2 |
i=1 |
i=1 |
3 |
while test $i != X; do |
while test $i != X; do |
4 |
unset t |
unset t |
36 |
if test $i = 111111111111111111111111111111111111111111111h; then i=i; fi |
if test $i = 111111111111111111111111111111111111111111111h; then i=i; fi |
37 |
if test $i = 111111111111111111111111111111111111111111111i; then i=j; fi |
if test $i = 111111111111111111111111111111111111111111111i; then i=j; fi |
38 |
if test $i = 111111111111111111111111111111111111111111111j; then i=X; fi |
if test $i = 111111111111111111111111111111111111111111111j; then i=X; fi |
39 |
|
memleak |
40 |
done |
done |
41 |
end=`ps -o pid,vsz | grep "^ *$pid "` |
memleak |
42 |
|
kb=$? |
43 |
if test "$beg" != "$end"; then |
if test $kb -le 4; then |
44 |
echo "vsz grows: $beg -> $end" |
echo Ok |
45 |
else |
else |
46 |
echo "vsz does not grow" |
echo "Bad: $kb kb (or more) leaked" |
47 |
fi |
fi |