我有一个运行Ubuntu 12.04的Linode 512 VPS,我注意到Monit的内存利用率报告和Ubuntu的报告之间存在很大的差异。当monit在超过某个阈值时尝试重新启动某些进程时,这就成了一个问题。有谁知道为什么会有这种差异?
答案 0 :(得分:1)
如果不深入研究monit的源代码,monit会考虑内核在计算已用内存时使用的内存缓冲区。
来自我的Linode的monit:
status Running
monitoring status Monitored
load average [0.00] [0.01] [0.05]
cpu 0.0%us 0.0%sy 0.0%wa
memory usage 264652 kB [52.0%]
swap usage 47096 kB [2.2%]
data collected Tue, 11 Dec 2012 20:51:45
并在之后运行free
:
total used free shared buffers cached
Mem: 508576 405572 103004 0 20288 120636
-/+ buffers/cache: 264648 243928
Swap: 2097148 47092 2050056
考虑到monit的默认配置是每120秒刷新一次,264648 kB相比monit的264652 kB相当准确。