Memory

monit 認為什麼是記憶體使用量?

  • July 25, 2018

一旦可以有monit monitor記憶體使用…

檢查系統 foo
如果記憶體使用率 > 95% 則發出警報

它是使用空閒 RAM 還是空閒 -/+ 緩衝區/記憶體?(或者是其他東西?)

# 免費 -m
記憶體的已用空閒共享緩衝區總數
電話:998 851 146 0 114 70
-/+ 緩衝區/記憶體:666 332
交換: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;

換句話說,monit 用作記憶體使用情況 MemTotal - MemFree - Buffers - Cached。

在你的情況下 998 - 146 - 114 - 70 = 668

在最新的 Monit(即:5.25.x)上,該memory usage值用於 ZFS ARC 記憶體 - 因此,如果 someout 正在使用 ZFS,則使用的記憶體不會因可回收的 ARC 數據而膨脹。

目前記憶體使用量計算如下:

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

從更多細節看這裡。

引用自:https://serverfault.com/questions/328722