5 # Copyright (c) 1995-2002 Silicon Graphics, Inc. All Rights Reserved.
9 echo "QA output created by $seq"
11 # get standard filters
16 trap "$sudo rm -f $tmp.*; exit" 0 1 2 3 15
19 if ps l
-p 1 2>/dev
/null |
sed -e 1q |
grep RSS
>/dev
/null
22 elif ps
-l -p 1 2>/dev
/null |
sed -e 1q |
grep RSS
>/dev
/null
25 elif ps
-o uid
,pid
,rss
,fname
-p 1 2>/dev
/null |
sed -e 1q |
grep RSS
>/dev
/null
27 ps_arg
="-o uid,pid,rss,fname"
29 echo "$seq: how do I coerce RSS from your ps?"
32 rss_field
=`ps $ps_arg -p 1 2>/dev/null | $PCP_AWK_PROG '
33 NR == 1 { for (i = 1; i <= NF; i++) {
42 # real QA test starts here
45 cat <<End-of-File >$tmp.config
46 log mandatory on 20 msec {
51 #debug# _start_up_pmlogger -c $tmp.config -Daf,appl2,desperate -l $tmp.log -s 1000 $tmp
52 _start_up_pmlogger
-c $tmp.config
-l $tmp.log
-s 1000 $tmp
54 _wait_for_pmlogger
$mylogger $tmp.log
57 for i
in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
60 ps
$ps_arg -p $mylogger \
62 NR == 1 { print; next }
63 $3 == '$mylogger' { print }'
67 |
$PCP_AWK_PROG '{ print $'$rss_field' }' \
68 | LC_COLLATE
=POSIX
sort \
73 # expect one line, with a count of 15 sizes, all the same!
74 if [ $seen -gt 1 -o $cnt -ne 15 ]
76 echo "Error: pmlogger virtual or resident size grew ... memory leak?"
77 echo " or maybe pmlogger died, or failed to start"
78 echo " pmlogger pid=$mylogger seen=$seen cnt=$cnt"
83 echo "pmlogger log ..."
91 _wait_pmlogger_end
$mylogger
92 cat $tmp.log
>>$seq.full
95 _filter_pmlogger_log
<$tmp.log