2 Параметры vm.memory.size
Обзор
В этом разделе представлена более подробная информация, а также
специфичная информация по разным платформам, по параметрам
vm.memory.size[<режим>] элемента данных
агента.
Параметры
В этом элементе данных разрешены следующие параметры:
- active - память, используемая в данный момент или была совсем недавно в использовании, и поэтому ещё находится в RAM.
- anon - память, не связанная с файлами (повторное чтение из них невозможно).
- available - доступная память, вычисляется в зависимости от платформы (смотрите таблицу ниже).
- buffers - кэш для таких вещей, как метаданные файловой системы.
- cached - кэш для различных вещей.
- exec - исполняемый код, в основном из (программ) файлов.
- file - кэш содержимого наиболее часто используемых файлов.
- free - память, которая доступна без каких-либо проблем любому объекту, запрашивающему память.
- inactive - память, помеченная, как неиспользуемая.
- pavailable - inactive + cached + free память по отношению к 'total'.
- pinned - то же, что и 'wired'.
- pused - active + wired память по отношению к 'total'.
- shared - память, которая может быть доступна сразу нескольким процессам.
- total - общий объем доступной физической памяти.
- used - используемая память, вычисляется в зависимости от платформы (смотри таблицу ниже).
- wired - память, помеченная всегда оставаться в RAM. Она не может быть перемещена на диск.
Вычисления 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+ | /proc/meminfo, "Cached":+"MemAvailable:" | 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] предназначен для использования в
триггерах.\
Обратите внимание на раздел "Смотрите также" внизу страницы для получения более детальной информации о вычислении памяти на разных ОС.
Заметки зависимости от платформы
- на Linux shared работает только с kernel 2.4