private function prepareData()
{
/*
* Check out this page to find out how to understand
* the output of the free command:
* - http://www.linuxnix.com/find-ram-size-in-linuxunix/
*
* The code below pulls the relevant parts out of 'free'
* and figures out the percentage used of each.
*
* $total_act is a little less than $mem_total as there's
* some used up by the bootloader that's not available
* to the system.
*/
$mem_free = intval(shell_exec("free -m | awk '/buffers\\/cache/ {print \$3}'"));
$mem_total = intval(shell_exec("free -m | awk '/Mem/ {print \$2}'"));
$used_act = intval(shell_exec("free | awk '/buffers\\/cache/ {print \$3}'"));
$free = intval(shell_exec("free | awk '/Mem/ {print \$4}'"));
$buffers = intval(shell_exec("free | awk '/Mem/ {print \$6}'"));
$cache = intval(shell_exec("free | awk '/Mem/ {print \$7}'"));
$total_act = $used_act + $free + $buffers + $cache;
$free_p = 100 * ($free / $total_act);
$buffers_p = 100 * ($buffers / $total_act);
$cache_p = 100 * ($cache / $total_act);
$used_act_p = 100 * ($used_act / $total_act);
// data object
$data = (object) ['total' => (object) ['pretty' => StringHelpers::prettyMemory($mem_total), 'actual' => $total_act], 'used' => (object) ['pretty' => strval(round($used_act_p, 2)), 'percentage' => $used_act_p, 'actual' => $used_act], 'buffers' => (object) ['pretty' => strval(round($buffers_p, 2)), 'percentage' => $buffers_p, 'actual' => $buffers], 'cache' => (object) ['pretty' => strval(round($cache_p, 2)), 'percentage' => $cache_p, 'actual' => $cache], 'free' => (object) ['pretty' => strval(round($free_p, 2)), 'percentage' => $free_p, 'actual' => $free]];
return $data;
}