Ed.
> Interval=2 , Count=20
> System Configuration: lcpu=4 mem=7817MB
> memory page
> faults cpu
> -------------- -------------------------------------
> ---------------------- ------------
> r b avm fre re pi po fr sr cy in
> sy cs us sy id wa
> 6 14 1314292 327 0 6 10 330 3490429 120 1978 20213
> 1771 36 46 1 17 20080508_151351
> 7 13 1313730 362 0 9 9 296 1553745 58 1766 47794
> 1872 57 34 0 9 20080508_151351
> 6 13 1313130 443 0 6 0 190 1598586 50 1769 56427
> 1825 62 30 0 8 20080508_151351
> 4 14 1313181 333 0 4 2 262 3460351 112 1978 34615
> 1660 51 41 0 8 20080508_151351
> 6 17 1313356 324 0 7 3 344 3125466 112 1951 25643
> 1589 53 42 0 4 20080508_151351
> 10 16 1313704 330 0 16 20 565 3530416 135 2050 41217
> 1735 52 45 0 2 20080508_151351
> 13 14 1314643 922 0 51 48 1277 1581288 62 1904 44890
> 2296 68 28 0 4 20080508_151351
> 9 14 1315012 323 0 19 23 258 2228074 87 1968 79867
> 2040 66 32 0 2 20080508_151351
> PROCESS ()
> {
> # Interval , Count
> echo Interval=$INT , Count=$CNT
> (( CNT_A = CNT - 1 ))
> TIME=`date +%Y/%m/%d.%H:%M:%S`
> vmstat ${INT} ${CNT}| awk -v CYC=${CNT_A} -v TX="$TIME" '
> NR == 1 { print $0 }
> NR == 2 { print("memory
> page faults cpu")
> print("--------------
> ------------------------------------- ----------------------
> ------------"
> )
> }
> NR == 3 { print(" r b avm fre re pi po fr
> sr cy in sy cs us sy id wa "
> ) }
> # NR == 4 { print("-- -- ------- ----- --- ---- ---- ----- ------
> ----- ----- ----- ----- -- -- -- -- ")}
> NR == 5 { next }
> {
> if($1 ~ /^[0-9].*/) {
> dt="'`date +%Y%m%d_%H%M%S`'"
> printf ("%2s %2s %8s %4s %4s %4s %4s %5s %7s %6s %6s %6s %5s
> %2s %2s %2s %2s %18s\n",
> $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,dt)
> (totr+=$1);
> (totb+=$2);
> (totavm+=$3);
> (totfre+=$4);
> (totpi+=$6);
> (totpo+=$7);
> (totfr+=$8);
> (totsr+=$9);
> (totsy+=$14+$15);
> (totid+=$16+$17);
> }
> (avr=totr/CYC)
> (avb=totb/CYC)
> (avavm=totavm/CYC)
> (avfre=totfre/CYC)
> (avpi=totpi/CYC)
> (avpo=totpo/CYC)
> (avfr=totfr/CYC)
> (avsr=totsr/CYC)
> };
> END {
> avecpu=(totsy)/(totsy+totid) * 100
> aveid=100 - avecpu
> avr=int(avr)
> avb=int(avb)
> avpi=int(avpi)
> avpo=int(avpo)
> avfr=int(avfr)
> avsr=int(avsr)
> printf ("%2s %2s %8.0f %4.0f %4s %4s %4s %5s %7s %6s %6s
> %6s %5s %2s %2s %2s %2s SUM %15s\n",
> avr,avb,avavm,avfre,$5,avpi,avpo,avfr,avsr,
> $10,$11,$12,$13,$14,$15,$16,$17,TX)
> print "\nSummary"
> print "The average usage of CPU is : " avecpu "%"
> print ("");
> }'
> }