如何估算MongoDB的内存占用?

Looly

来自: Looly(每一次回眸,都是一个美丽的相遇)
2014-03-08 19:38:15

×
加入小组后即可参加投票
  • 寂灵天

    寂灵天 2014-03-10 11:18:43

    可以通过mongostat命令来监控MongoDB的内存使用情况 mapped:映射到内存的数据大小 visze:占用的虚拟内存大小 res:占用的物理内存大小

  • notXX

    notXX 2014-03-12 21:35:21

    mongodb不会oom,真的内存不够用顶多很慢很慢。

  • notXX

    notXX 2014-03-12 21:41:56

    mongodb不会oom,真的内存不够用顶多很慢很慢。 mongodb不会oom,真的内存不够用顶多很慢很慢。 notXX

    如果要估计需要多少内存才够用,一般我会估计一下有多少热数据,最好是内存比热表的totalSize大,不行的话最低限度也要比最常用查询命中索引的indexSize大

  • Looly

    Looly (每一次回眸,都是一个美丽的相遇) 楼主 2014-03-14 22:33:48

    可以通过mongostat命令来监控MongoDB的内存使用情况 mapped:映射到内存的数据大小 visze:占 可以通过mongostat命令来监控MongoDB的内存使用情况 mapped:映射到内存的数据大小 visze:占用的虚拟内存大小 res:占用的物理内存大小 ... 寂灵天

    谢谢~~

  • Looly

    Looly (每一次回眸,都是一个美丽的相遇) 楼主 2014-03-14 22:37:30

    如果要估计需要多少内存才够用,一般我会估计一下有多少热数据,最好是内存比热表的totalSize大 如果要估计需要多少内存才够用,一般我会估计一下有多少热数据,最好是内存比热表的totalSize大,不行的话最低限度也要比最常用查询命中索引的indexSize大 ... notXX

    因为看到网上说MongoDB吃内存特别厉害,最终会导致被oom killer。谢谢你的回答~

  • O.Brire He

    O.Brire He 2015-07-11 02:46:51

    MongoDB的内存设计这块儿,是相当扯蛋的。特别是在数据库十分巨大时,占用20G不在话下,不管一个简单的查询,或索引什么的。当时为了入库5亿以上的记录,还专门写了一个程序清理服务进程mongod内存。后面查询花了几分钟,太长时间了,而且有索引键值,但内存一下又上升到了97%,实在无语。数据库总计也就80G,用10G内存交换,一次次换入换出,也不至于将计算机14G Memory都用光了。当单库数据量在10亿以上时,真要考虑,升级服务器,是否使用128G的内存。关键是,应用本身,并不需要这么多内存来缓冲,MongoDB才不管这么多,只要有空内存,就全部用来MMAP,实在是无语。就纯I/O与MEMORY交换这块来讲,MongoDB真没有UltraEdit这个小组的人员写得好。

  • 四处飘荡

    四处飘荡 2016-03-04 11:46:21

    监控 mongoldb 内存,use 占用 80% 时报警,在吃完内存前先处理嘛, 用着 cloud insight 效果还不错, 你可以看看 http://www.oneapm.com/ci/mongodb.html

你的回应

回应请先 , 或 注册

5544 人聚集在这个小组
↑回顶部