function memory()
{
preg_match_all(MEMORY_REGEXP, file_get_contents('/proc/meminfo'), $matches);
$mem = array_combine($matches[1], $matches[2]);
$defaults = array('MemTotal' => 0, 'MemFree' => 0, 'Cached' => 0, 'Buffers' => 0, 'SwapTotal' => 0, 'SwapFree' => 0, 'SwapCached' => 0);
$mem = array_merge($defaults, $mem);
foreach ($mem as $idx => $value) {
$mem[$idx] = intval($value);
}
$mem['MemUsed'] = $mem['MemTotal'] - $mem['MemFree'] - $mem['Cached'] - $mem['Buffers'];
$mem['SwapUsed'] = $mem['SwapTotal'] - $mem['SwapFree'] - $mem['SwapCached'];
return $mem;
}