我正在测试MongoDB的档案数据。我们有一亿六千万行的收藏品。MongoDB实例在12 Gb物理内存框上使用76.2GB虚拟内存;-)交换空间为null。
我读了那个虚拟内存=物理+交换。
我的案子怎么了?这对mongoDB本身来说是个问题吗?
谢谢
发布于 2012-04-16 17:00:34
MongoDB使用内存映射文件--比机器上可用的实际物理文件(或交换文件)要大得多。因此,所使用的总虚拟内存通常是磁盘上所有数据的大小。
驻留内存将是表示实际使用的工作集的stat,尽管取决于您在框上的资源和使用模式,它将随着时间的推移而增长,并接近主机上的总物理RAM。基本上,除非操作系统认为有必要分页删除旧数据(内存压力),否则它将留在RAM中。
重新启动MongoDB时,这基本上是从头开始的。因此,如果您对实际工作数据集有一个已知的时间框架(假设您只使用了最后7天),那么该时间段之后的设置大小(假设定期、可预测的使用)将以RAM的形式表示您的大致工作集大小。
更多信息可在文档中找到:
http://www.mongodb.org/display/DOCS/Caching
http://www.mongodb.org/display/DOCS/Checking+Server+Memory+Usage
最后,MMS (免费)很好地为您映射了时间映射、虚拟、常驻和非映射以及大量其他统计数据(在每个图上查找"i“以获得解释)。
http://mms.10gen.com
https://serverfault.com/questions/379802
复制相似问题