我们一直在监控 Debian 服务器的 RAM 使用情况,以便在 RAM 使用率超过某个百分比阈值时收到警报。
但是,高 % RAM 使用率不一定是个问题,甚至可以是可取的,因为这表明 RAM 正在执行缓存和加速任务(有很多关于此的 serverfault 问题)。结果是,我不太确定我们能否明确地说“< 30% 的 RAM 可用量是一件坏事”,我的意思是坏事,意思是给某人发短信并唤醒他们。
在计算可用内存时,我们可以考虑磁盘缓存之类的因素,但同样的问题仍然存在——有时我们想需要使用大量的内存。或者,我们可以监控 swapio 之类的东西来识别高水平的交换,但这本身并不一定是坏事。它可能表明忙碌的服务器,而不是发生故障的服务器。
有人能建议我们可以测量的内存指标并明确指出“这么多内存是个问题,需要有人去查看”吗?可能简单来说就是“任何服务器的可用内存都不应该低于 10%”。
或者说,我们是不是选错了方向?我们是否应该只监控服务本身(例如,页面是否加载迅速),然后记录内存水平并将其绘制成图表,以备不时之需?
答案1
我认为你应该考虑监控交换使用情况。当 Linux 开始大量交换时,这意味着某些东西由于某种原因正在消耗内存。