MongoDB驻留内存峰值,映射内存消失

时间:2012-10-23 23:27:46

标签: mongodb memory

我正在尝试理解我在MMS日志中看到的MongoDB内存使用模式。

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

mongodb memory peaks and troughs mongodb memory peaks and troughs detail

MongoDB似乎正常运行,而其他指标(如opcounters和网络)是正常的,但是当不太可能出现显着的负载变化时,图表会突然发生巨大变化,这让我很好奇。

这是一个运行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

造成这种情况的原因是什么?

1 个答案:

答案 0 :(得分:3)

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

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