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

#### Обзор

В этом разделе представлена более подробная информация, а также
специфичная информация по разным платформам, по параметрам
`vm.memory.size[<режим>]` [элемента данных
агента](/ru/manual/config/items/itemtypes/zabbix_agent).

#### Параметры

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

-   **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|

::: noteimportant
Сумма *vm.memory.size\[used\]* и
*vm.memory.size\[available\]* не обязательно равна общему количеству
памяти. Например, в FreeBSD:\
\* Активная, неактивная, wired, кэшируемая памяти считаются
использованными, так как содержат некоторую полезную информацию.\
\* В то же время неактивная, кэшируемая, свободная памяти считаются
доступными, так как такая память может быть незамедлительно освобождена
процессу, который запросил больше памяти.\
\
Так неактивная память помечается как занятая, так и как свободная,
одновременно. В связи с этим, элемент данных *vm.memory.size\[used\]*
предназначен исключительно в информационных целях, тогда как элемент
данных *vm.memory.size\[available\]* предназначен для использования в
триггерах.\

:::

Обратите внимание на раздел ["Смотрите также"](#смотрите_также) внизу
страницы для получения более детальной информации о вычислении памяти на
разных ОС.

##### Заметки зависимости от платформы

-   на Linux **shared** работает только с kernel 2.4

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

1.  [Подробная информация о вычислении памяти на разных ОС
    \[en\]](http://blog.zabbix.com/when-alexei-isnt-looking#vm.memory.size)
