Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

2 Параметры vm.memory.size

Обзор

В этом разделе представлена более подробная информация, а также специфичная информация по разным платформам, по параметрам vm.memory.size[<режим>] элемента данных агента.

Параметры

В этом элементе данных разрешены следующие параметры:

  • 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. Она не может быть перемещена на диск.

Некоторые из этих параметров работают только для конкретных платформ и могут быть недоступны на вашей платформе. См. Поддерживаемые элементы данных по платформам.

Вычисления 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] предназначен для использования в триггерах.

Смотрите также

  1. Подробная информация о вычислении памяти на разных ОС [en]