我正在尝试弄清楚如何将 mongo 守护进程的内存使用量限制为 4G。
我考虑将 limits.conf 与 memlock 一起使用,但我不确定这是否是正确的方法。
从 limits.conf 手册页中,我了解到 ulimits 是指用户而不是进程,并且“memlock”的定义对我来说也不清楚:
memlock
maximum locked-in-memory address space (KB)
如何限制进程的内存使用量?
答案1
MongoDB 使用内存映射文件进行所有存储,似乎您可以限制这些文件的大小:
- http://blog.mongodb.org/post/101911655/mongo-db-memory-usage
- http://www.mongodb.org/display/DOCS/Caching
但是,如果您担心 top 中显示的大量内存数字,它们并不(完全)对应于 Mongo 的物理内存使用情况。部分内存将映射到磁盘,具体取决于您的 io 缓存设置,请参阅检查内存使用情况(MongoDB)。