1 Параметры vm.memory.size
Обзор
В этом разделе приведены некоторые сведения о параметрах элемента данных агента vm.memory.size[<mode>].
Параметры
Для этого элемента данных доступны следующие параметры:
- active — память, используемая в данный момент или использовавшаяся совсем недавно, поэтому она находится в RAM
- anon — память, не связанная с файлом (не может быть повторно считана из него)
- available — доступная память, вычисляется по-разному в зависимости от платформы (см. таблицу ниже)
- buffers — кэш для таких вещей, как метаданные файловой системы
- cached — кэш для различных данных
- exec — исполняемый код, обычно из файла (программы)
- file — кэш содержимого недавно использовавшихся файлов
- free — память, которая немедленно доступна любому объекту, запрашивающему память
- inactive — память, помеченная как неиспользуемая
- pavailable — память 'available' в процентах от 'total' (вычисляется как
available/total*100) - pinned — то же, что и 'wired'
- pused — память 'used' в процентах от 'total' (вычисляется как
used/total*100) - shared — память, к которой могут одновременно обращаться несколько процессов
- slab — общий объём памяти, используемой ядром для кэширования структур данных для собственных нужд
- total — общий объём доступной физической памяти
- used — используемая память, вычисляется по-разному в зависимости от платформы (см. таблицу ниже)
- wired — память, помеченная как всегда остающаяся в RAM. Она никогда не перемещается на диск.
Некоторые из этих параметров зависят от платформы и могут быть недоступны на вашей платформе. Подробности см. в элементах данных агента Zabbix.
Специфичный для платформы расчёт available и used:
| Platform | "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" в documentation ядра Linux. Обратите внимание, что free + buffers + cached больше не равно 'available', поскольку не весь кэш страниц может быть освобождён, и в расчёте используется нижняя граница 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] не обязательно равна total. Например, в FreeBSD:
* Память active, inactive, wired, cached считается используемой, потому что
в ней хранится некоторая полезная информация.
* В то же время память inactive, cached, free считается доступной,
потому что эти виды памяти могут быть немедленно предоставлены
процессам, запрашивающим больше памяти.
Таким образом, память inactive одновременно является и используемой, и доступной. Поэтому элемент данных vm.memory.size[used] предназначен только для информационных целей, тогда как vm.memory.size[available] предназначен для использования в триггерах.