0

当我尝试将数据库从一台 mongoDB 服务器复制到另一台(大约 100GB)时,mongo 守护进程占用了 99% 的可用 RAM(Windows 64 位 16GB)。结果,系统变得非常缓慢,有时甚至不稳定。

有什么办法可以避免吗?

MongoDB 2.0.6

4

1 回答 1

3

阿尔伯特。

MongoDB 在很大程度上是一个“in ram”应用程序。Mongo 已映射所有数据库内存以供使用,但通常只有最近使用的数据会在 RAM 中(称为您的工作集),并且 mongo 将根据需要分页以获取不在 RAM 中的任何数据。通常,mongo 的行为只是在 RAM 中拥有所需的数量,但是当您执行类似 DB Copy 之类的操作时,需要所有数据 - 因此 mongod 会消耗您所有的 ram。

对此没有理想的解决方案,但如果迫切需要,您可以使用 WSRM http://technet.microsoft.com/en-us/library/cc732553.aspx来尝试限制进程消耗的 RAM 量。这将使复制花费更长的时间,并可能导致其他问题。

于 2012-09-06T06:55:31.663 回答