#!/usr/bin/perl open(MEM, "/proc/meminfo"); while () { /^Mem:\s+(\d+)\s+\d+\s+(\d+)\s+(\d+)\s+(\d+)\s+\d+$/ && (($totalram,$freeram,$sharedram,$bufferram) = ($1,$2,$3,$4)); /^Cached:\s+(\d+) kB$/ && ($pagesram = $1*1024); /^Swap:\s+(\d+)\s+\d+\s+(\d+)$/ && (($totalswp,$freeswp) = ($1,$2)); /^SwapCached:\s+(\d+) kB$/ && ($pagesswp = $1*1024); /^Active:\s+(\d+) kB$/ && ($activepages = $1*1024); /^Inactive:\s+(\d+) kB$/ && ($inactivepages = $1*1024); /^Inact_(?!target)\w+:\s+(\d+) kB$/ && ($inactivepages += $1*1024) && print "$inactivepages\n"; }; close(MEM); print "$totalram:$freeram:$sharedram:$bufferram:$pagesram:$totalswp:$freeswp:$pagesswp:$activepages:$inactivepages\n";