3

我试图了解我在MMS日志中看到的 MongoDB 内存使用模式。

通常,常驻内存约为 3GB,虚拟内存稳定在 84GB,映射内存约为 41GB。然后在一系列高峰和低谷中,通常只持续几分钟,映射内存完全消失,虚拟内存下降到 41GB 左右,常驻内存 41GB 或峰值达到 84GB。然而,在最近的一集中,高峰和低谷持续了 3.5 小时。

mongodb内存高峰和低谷 mongodb内存峰谷详解

MongoDB 似乎运行正常,其他指标(如操作计数器和网络)也正常,但是当负载不太可能发生显着变化时,图表突然发生了巨大变化,这让我......很好奇。

这是一个运行 MongoDB 1.8.3 的独立实例。

典型的内存使用情况,而不是在一集期间(我只发现了较长的一集,因为它正在结束):

$ free -m
             total       used       free     shared    buffers     cached
Mem:         32176      31931        245          0        628      29449
-/+ buffers/cache:       1854      30322
Swap:         1983          0       1983

这是什么原因造成的?

4

1 回答 1

3

MMS 通过读取 /proc/$PID/stat 从操作系统获取内存统计信息。虚拟内存和常驻内存的波动正在报告错误,可以放心地忽略。

(如果您将鼠标悬停在尖峰上,您会注意到它们有时会在 3 个统计数据中的 1 个或 2 个 - 虚拟内存、映射内存或常驻内存 - 丢失时发生......)

于 2012-10-24T23:40:00.243 回答