All pastes #122611 Raw Edit

Something

public text v1 · immutable
·published 2006-08-08 20:16 UTC
rendered paste body
function sys_memory () {

    $proc_meminfo = file("/proc/meminfo");



    // gather system memory information

    for ($i = 0; $proc_meminfo[$i] != NULL; $i++)   {

        if (ereg("Mem:", $proc_meminfo[$i]))    {

            $clean = ereg_replace (' +', ' ', $proc_meminfo[$i]);   // compact whitespace

            $mem   = explode (" ", $clean);

        }

        if (ereg("Swap:", $proc_meminfo[$i]))   {

            $clean = ereg_replace (' +', ' ', $proc_meminfo[$i]);   // compact whitespace

            $swap  = explode (" ", $clean);

        }

    }



    // create the data structure

    // 1 = total, 2 = used, 3 = free, 4 = shared, 5 = buffers, 6 = cached

    $memory["mem_total"]   = convert_bytes($mem[1]);

    $memory["mem_used"]    = convert_bytes($mem[2] - $mem[5] - $mem[6]);

    $memory["mem_free"]    = convert_bytes($mem[1] - ($mem[2] - $mem[5] - $mem[6]));

    $memory["mem_used_p"]  = round((($mem[2] - $mem[5] - $mem[6]) / $mem[1]) * 100, 2);

    $memory["mem_free_p"]  = round(($mem[1] - ($mem[2] - $mem[5] - $mem[6])) / $mem[1] * 100, 2);

    $memory["swap_total"]  = convert_bytes($swap[1]);

    $memory["swap_used"]   = convert_bytes($swap[2]);

    $memory["swap_free"]   = convert_bytes($swap[3]);

    $memory["swap_used_p"] = round(($swap[2] / $swap[1]) * 100, 2);

    $memory["swap_free_p"] = round(($swap[3] / $swap[1]) * 100, 2);



    // return the data structure

    return $memory;

}