Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
49 lines (43 sloc) 1.18 KB
###############################################################################
#
# Sub Name: linux_proc_meminfo
#
# Description: Read the /proc/meminfo on a Linux server and return a
# STRUCT with the information.
#
# Arguments: None.
#
# Returns: hashref
#
###############################################################################
sub linux_proc_meminfo
{
use strict;
my (%meminfo, $line, $key, @parts);
local *F;
open(F, '/proc/meminfo') or
return RPC::XML::fault->new(501, "Cannot open /proc/meminfo: $!");
while (defined($line = <F>))
{
next if ($line =~ /^\s+/);
chomp $line;
@parts = split(/\s+/, $line);
$key = shift(@parts);
if ($key eq 'Mem:')
{
@meminfo{qw(mem_total mem_used mem_free mem_shared mem_buffers
mem_cached)} = @parts;
}
elsif ($key eq 'Swap:')
{
@meminfo{qw(swap_total swap_used swap_free)} = @parts;
}
else
{
chop $key; # Lose the trailing ':'
$meminfo{$key} = join(' ', @parts);
}
}
close(F);
\%meminfo;
}
Something went wrong with that request. Please try again.