我有
read,Linux使用空闲内存进行缓存,以使系统更快.但是,Nagios和Paessler PRTG监控系统都告诉我,我的内存使用情况很重要.
我可以更改Nagios mem_usage脚本来总结免费和缓存的内存,但这是正确的信息吗?我怀疑他们误解了Linux内存使用情况.
可以说我有8 GB RAM.使用5 GB,缓存2 GB,我有1 GB的可用内存.实际可用内存应该是免费缓存的(3 GB)?如果某个新应用程序需要额外的3 GB RAM,那么它可以在不使用交换的情况下从缓存和免费获取所有内容,还是应该在缓存中存在最小值?
真实的例子:
$cat /proc/meminfo MemTotal: 5984256 kB MemFree: 137052 kB Buffers: 140484 kB Cached: 3439616 kB SwapCached: 244 kB Active: 3148824 kB Inactive: 2341768 kB ...
我的监控工具显示我有137 MB的可用内存,但我在缓存中有~3.5 GB.
谢谢!
解决方法
当我使用check_mem.pl插件时,我在Nagios中有相同的经验.当你定义tress hold为critical时,你需要使用大写C代替普通c.
像这样:
command[check_mem]=/usr/lib/nagios/plugins/check_mem -w 10 -C 5 -f
然后它会占用帐户中的缓存内存,它不会发送警告.