mongodb在内存使用方面突然飙升

时间:2016-07-28 12:54:12

标签: mongodb memory centos

我们的CentOS-07服务器上mongodb的内存利用率飙升。它有64 GB的RAM。这是一个独立的mongodb实例,它没有运行任何应用程序,并且有内务管理脚本只保留相关数据。我们没有索引数据。磁盘上的数据总大小为81千兆字节。在我们尝试启用复制之前没有看到这个问题,其中节点设置一直使用高内存因此被禁用,然后我们提出了一个全新的独立mongo实例。自从我们尝试重新启动mongo服务器但没有工作以来,内存使用率一直没有下降。有没有理由让mongodb使用这么多内存?下面是一个链接到mem使用的快照从站点服务器。 mongo版本是2.6.5

Image link

1 个答案:

答案 0 :(得分:0)

这并不奇怪。请参阅MMAPv1存储引擎文档中的Memory Use部分(MongoDB 2.6使用的文档):

  

使用MMAPv1,MongoDB会自动使用计算机上的所有可用内存作为缓存。系统资源监视器显示MongoDB使用大量内存,但其使用是动态的。如果另一个进程突然需要服务器RAM的一半,MongoDB将为其他进程提供缓存内存。

启用复制后使用率飙升也就不足为奇了,因为它听起来像是一个完全填充的数据库,然后添加了一个副本成员。这将意味着副本成员需要执行来自该节点的数据的初始同步,这将需要读取每个文档,这些文档将会引发"结果是MongoDB的缓存。