Назад | Перейти на главную страницу

Что monit считает использованием памяти?

Как только можно будет отслеживать использование памяти…

check system foo
  if memory usage > 95% then alert

Используется ли свободная оперативная память или свободные - / + буферы / кеш? (или что-то другое?)

# free -m
             total       used       free     shared    buffers     cached
Mem:           998        851        146          0        114         70
-/+ buffers/cache:        666        332
Swap:         2047         54       1993

Это может быть получено из источника monit https://github.com/arnaudsj/monit/tree/master/process.

Для linux значение вычисляется в sysdep_LINUX.c и происходит из / proc / meminfo:

si->total_mem_kbyte = systeminfo.mem_kbyte_max - mem_free - buffers - cached;

Другими словами, мониторинг использования памяти MemTotal - MemFree - Buffers - Cached.

В вашем случае 998 - 146 - 114 - 70 = 668

В последней версии Monit (например, 5.25.x) memory usage value учитывает кеш ZFS ARC - поэтому, если какой-либо из них использует ZFS, используемая память не увеличивается из-за восстанавливаемых данных ARC.

Текущее использование памяти рассчитывается как:

si->memory.usage.bytes = systeminfo.memory.size - zfsarcsize -
(uint64_t)(mem_free + buffers + cached + slabreclaimable) * 1024;

Видеть Вот из более подробной информации.

AFAIK, это основано на:

used memory - cached = 851 - 70 = 781