Параметры vm.memory.size
В этом разделе представлены некоторые подробности относительно элемента данных vm.memory.size<режим> Агента.
В этом элементе данных разрешены следующие параметры:
active– память, используемая в данный момент или бывшая в использовании совсем недавно, и поэтому еще находится в RAM;anon– память, не связанная с файлами (повторное чтение из них невозможно);available– доступная память, вычисляется по-разному в зависимости от платформы (таблица 36);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 в зависимости от платформы приведены в таблице 36.
Примечание – Сумма vm.memory.sizeused и vm.memory.sizeavailable не обязательно равна общему количеству памяти.
Например, для FreeBSD:
- активная, неактивная,
wired,кэшируемая памяти считаются использованными, так как содержат некоторую полезную информацию; - неактивная, кэшируемая, свободная памяти считаются доступными, так как такая память может быть незамедлительно освобождена процессу, который запросил больше памяти.
Таким образом, неактивная память помечается и как занятая, так и как свободная одновременно. Из-за этого элемент данных vm.memory.sizeused используется исключительно в информационных целях, а элемент данных vm.memory.sizeavailable предназначен для использования в триггерах.