Memory
monit 認為什麼是記憶體使用量?
一旦可以有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;
從更多細節看這裡。