Как найти общее использование памяти - PullRequest
0 голосов
/ 26 апреля 2020

Я хочу иметь возможность выяснить, сколько всего оперативной памяти используется системой - НЕ ПРОСТО PHP. Если на компьютере с 8 ГБ используется 1 ГБ, я хочу иметь возможность получить эти цифры и отобразить их (1 ГБ / 8 ГБ).

Все, что я могу выяснить, это как определить, сколько памяти PHP скрипт использует, но это не то, что я хочу.

1 Ответ

0 голосов
/ 26 апреля 2020

Я использовал файл / proc / meminfo, чтобы получить значения MemTotal и MemFree. Затем я вычел значение MemFree из MemTotal, чтобы узнать, сколько памяти в данный момент используется системой (не PHP).

    function memory_usage() {
            return memory_total() - memory_free();
    }

    function memory_free() {
            $fh = fopen('/proc/meminfo','r');
            $mem = 0;
            while ($line = fgets($fh)) {
                    $pieces = array();
                    if (preg_match('/^MemFree:\s+(\d+)\skB$/', $line, $pieces)) {
                            $mem = $pieces[1];
                            break;
                    }
            }
            fclose($fh);
            return $mem;
    }

    function memory_total() {
            $fh = fopen('/proc/meminfo','r');
            $mem = 0;
            while ($line = fgets($fh)) {
                    $pieces = array();
                    if (preg_match('/^MemTotal:\s+(\d+)\skB$/', $line, $pieces)) {
                            $mem = $pieces[1];
                            break;
                    }
            }
            fclose($fh);
            return $mem;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...