В этом разделе представлена более подробная информация, а также специфичная информация по разным платформам, по параметрам vm.memory.size[<режим>]
элемента данных агента.
В этом элементе данных разрешены следующие параметры:
available
/total
*100)used
/total
*100)Некоторые из этих параметров работают только для конкретных платформ и могут быть недоступны на вашей платформе. См. Поддерживаемые элементы данных по платформам.
Вычисления available и used в зависимости от платформы:
Платформа | "available" | "used" |
---|---|---|
AIX | free + cached | реальное использование памяти |
FreeBSD | inactive + cached + free | active + wired + cached |
HP UX | free | total - free |
Linux<3.14 | free + buffers+cached | total - free |
Linux 3.14+ (также перенесен на 3.10 на RHEL 7) |
/proc/meminfo, см. описание "MemAvailable" в документации ядра Linux (en). Обратите внимание, что free + buffers + cached больше не равняется 'available' так как не весь кеш страницы может быть свободен и минимальный объем свободной памяти, зарезервированной системой (low watermark) используется в расчетах. |
total - free |
NetBSD | inactive + execpages + file + free | total - free |
OpenBSD | inactive + free + cached | active + wired |
OSX | inactive + free | active + wired |
Solaris | free | total - free |
Win32 | free | total - free |
Сумма vm.memory.size[used] и vm.memory.size[available] не обязательно равна общему количеству памяти. Например, в FreeBSD:
* Активная, неактивная, wired, кэшируемая памяти считаются использованными, так как содержат некоторую полезную информацию.
* В то же время неактивная, кэшируемая, свободная памяти считаются доступными, так как такая память может быть незамедлительно освобождена процессу, который запросил больше памяти.
Так неактивная память помечается как занятая, так и как свободная, одновременно. В связи с этим, элемент данных vm.memory.size[used] предназначен исключительно в информационных целях, тогда как элемент данных vm.memory.size[available] предназначен для использования в триггерах.