#use strict; #use warnings; #-- Format memory in MB from db2pd -dbptnmem #-- Run as db2pd -dbptnmem | perl -nl db2mem.pl #-- or perl -nl db2mem.pl db2mem.PB1 sub commify { my $text = reverse $_[0]; $text =~ s/(\d\d\d)(?=\d)(?!\d*\.)/$1,/g; return scalar reverse $text; } print if ($. == 1); if (/Name|===/) { s/KB/MB/g; print; } if (/Memory Limit|Current usage:|HWM usage:| Cached memory:/ && length($_) > 0 ){ ($name, $value) =split /:/; $value =~ s/KB//g; printf "%-14s: %10s MB\n", $name, commify(int $value/1024); if ($name eq "HWM usage") { printf "\n"; } } if (/APPL-|DB-|FMP|PRI/) { ($name, $used, $hwm, $free) =split /\s+/; printf "%-15s %10s %10s %10s\n", $name, commify(int $used/1024), commify( int $hwm/1024), commify( int $free/1024); }