/usr/local/CPAN/pfacter/Pfacter/swap.pm
package Pfacter::swap;
#
sub pfact {
my $self = shift;
my ( $p ) = shift->{'pfact'};
my ( $r );
for ( $p->{'kernel'} ) {
/AIX/ && do {
if ( -e '/usr/sbin/lsps' ) {
open( F, '/usr/sbin/lsps -s |' );
my ( @F ) = <F>;
close( F );
foreach ( @F ) {
if ( /(\d+)(\w+)\s+\d+/ ) {
my $s = $1;
my $u = $2;
if ( $u eq 'MB') { $r = $s*1024; last; }
}
}
}
};
/Linux/ && do {
if ( -e '/proc/meminfo' ) {
open( F, '/proc/meminfo' );
my ( @F ) = <F>;
close( F );
foreach ( @F ) {
if ( /SwapTotal:\s+(\d+)\s+\w+/ ) { $r = $1; last; }
}
}
};
/Darwin|SunOS/ && do {
if ( -e '/usr/bin/pagesize' ) {
open( F, '/usr/bin/pagesize |' );
my ( @F ) = <F>;
close( F );
$r = $F[0]*1024;
}
};
if ( $r ) { return( $r ); }
else { return( 0 ); }
}
}
1;