# How it's called my $NAME = "myperlpgm.plx"; my ($pmem1,$pmem2) = Display_Mem_Usage($$,$NAME); sub Display_Mem_Usage { # VSZ is size in KBytes of the virtual memory ( VSZ * 1024 ) # RSS is size in pages of real memory ( 1024 * RSS ) my $cpid = shift; my $name = shift; my $var = ""; my $fh; if ( $Debug >= 3 ) { $0 = "$name: Checking. . . "; } my $arg = qq| -o "vsz rssize" -p $cpid|; open ( $fh, "-|", "$PS $arg" ) or Die_RTN("Prefork: Not open \'$PS\': $!"); while (<$fh>) { $var .= $_; } close $fh; my $rno = my @ref = split(/\n/,$var); if ( $rno < 2 ) { return ( -1, -1 ); } my $info = join(" ", split " ", $ref[1]); my ($vmem,$rmem) = ( split(/\ /,$info) ); ## { syslog('info',"Display_Mem_Usage: $PS $arg|$vmem|$rmem|$var"); } if ( $Debug >= 3 ) { syslog('info',"Mem_Usage: |$vmem"."K,$rmem"."K|$var"); } return ( $vmem * 1024, $rmem * 1024 ); }