fix some stuff regards to rss as Proc::ProcessTable returns problematic values for some items... requiring the use of BSD::Process
git-svn-id: svn://127.0.0.1/Perl/Proc-ProcessTable-Colorizer/trunk@970 0c1c3402-1be1-de11-8092-0022686faf23
This commit is contained in:
parent
6c0cf95eeb
commit
9a60a648b0
|
@ -178,13 +178,20 @@ sub colorize{
|
|||
($^O =~ /bsd/) &&
|
||||
( $field =~ /pctmem/ )
|
||||
){
|
||||
my $rss=$proc->rss;
|
||||
|
||||
my $physmem=`/sbin/sysctl -a hw.physmem`;
|
||||
chomp($physmem);
|
||||
$physmem=~s/^.* //;
|
||||
|
||||
$values{pctmem}=($rss / $physmem)*100;
|
||||
use BSD::Process;
|
||||
my $bproc=BSD::Process::info( $proc->pid );
|
||||
my $rss=$bproc->{rssize};
|
||||
if ( defined( $rss ) ){
|
||||
$rss=$rss*1024;
|
||||
|
||||
my $physmem=`/sbin/sysctl -a hw.physmem`;
|
||||
chomp($physmem);
|
||||
$physmem=~s/^.*\: //;
|
||||
|
||||
$values{pctmem}=($rss / $physmem)*100;
|
||||
}else{
|
||||
$values{pctmem}=0;
|
||||
}
|
||||
}elsif(
|
||||
($^O =~ /bsd/) &&
|
||||
( $field =~ /size/ )
|
||||
|
@ -192,6 +199,16 @@ sub colorize{
|
|||
|
||||
my $bproc=BSD::Process::info( $proc->pid );
|
||||
$values{size}=$bproc->{size};
|
||||
}elsif(
|
||||
($^O =~ /bsd/) &&
|
||||
( $field =~ /rss/ )
|
||||
){
|
||||
|
||||
my $bproc=BSD::Process::info( $proc->pid );
|
||||
$values{rss}=$bproc->{rssize};
|
||||
if (!defined $values{rss} ){
|
||||
$values{rss}=0;
|
||||
}
|
||||
}elsif(
|
||||
$field eq 'proc'
|
||||
){
|
||||
|
@ -276,7 +293,6 @@ sub colorize{
|
|||
$values{pctmem}=sprintf('%.1f', $values{pctmem});
|
||||
$values{pctcpu}=sprintf('%.1f', $values{pctcpu});
|
||||
|
||||
$values{rss}=$values{rss}/1024;
|
||||
$values{size}=$values{size}/1024;
|
||||
|
||||
push( @procs, \%values );
|
||||
|
|
Loading…
Reference in New Issue