Ubuntu — не могу получить реальное текущее использование и доступную оперативную память в PHP с использованием SNMP

Я планирую получить использование ОЗУ на сервере, я попробовал SNMP в PHP на моем собственном компьютере, но когда я хочу получить процент использования ОЗУ в процентах, это не реальное использование ОЗУ по сравнению с системный монитор на моем компьютере.

Я прочитал это решение ниже, но все же я не получил правильное значение

(Используется — буферы — кэшируется) / Всего * 100 =% используемой памяти

Таким образом, вы можете получить следующее (выраженное в виде кода Perl):

my $ memRealTotalOID = ‘.1.3.6.1.4.1.2021.4.5.0’;

my $ memRealAvailOID = ‘.1.3.6.1.4.1.2021.4.6.0’;

my $ memRealBuffersOID = ‘.1.3.6.1.4.1.2021.4.14.0’;

my $ memRealCachedOID = ‘.1.3.6.1.4.1.2021.4.15.0’;

Расчеты памяти my $ memRealUsed = $ memRealTotal — $ memRealAvail;

Затем вы можете предупредить об использовании% RAM:

my $ realPercent = (($ memRealUsed — $ memRealBuffers — $ memRealCached) /
$ memRealTotal) * 100;

Вот мой код и результат:

snmp_set_valueretrieval(SNMP_VALUE_PLAIN);
$memRealTotalOID = snmpget("127.0.0.1", "public", ".1.3.6.1.4.1.2021.4.5.0");
$memRealAvailOID = snmpget("127.0.0.1", "public", ".1.3.6.1.4.1.2021.4.6.0");
$memRealBuffersOID = snmpget("127.0.0.1", "public",'.1.3.6.1.4.1.2021.4.14.0');
$memRealCachedOID = snmpget("127.0.0.1", "public",'.1.3.6.1.4.1.2021.4.15.0');
$memRealUsed = $memRealTotalOID - $memRealAvailOID;

$realPercent = (($memRealUsed - $memRealBuffersOID - $memRealCachedOID) / $memRealTotalOID) * 100;
print_r($realPercent);

текущий результат = 82.55542380

Между тем системный монитор показывает (89%):
введите описание изображения здесь

Я прочитал неправильное решение или неправильный расчет? Любая помощь, пожалуйста

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]