我们转移到了有线电视,并且看到内存使用率上升,mongodb使用系统内存的90%。它似乎正在慢慢崛起。在我们在mongo 2.x内存上使用mmap之前,在内存之前,内存占8%。
我担心操作系统会终止进程。这是正常行为吗?
db.serverStatus() - https://gist.github.com/henryoswald/8ff9cf917e63c2e983dd
答案 0 :(得分:3)
mmap和WiredTiger在使用内存方面存在很大差异。
虽然mmap实际上使用内存映射,但实际上数据库缓存在操作系统中被视为缓存。
虽然WiredTiger使用在应用程序启动时定义的内存池。 see docs
根据系统中的内存量,默认情况下,它应使用1GB或一半的系统RAM用于WiredTiger池。 (这可以解释从8%跳到58%左右)
但它不应该“慢慢爬到90%”。这值得进一步调查。但为此,我们需要看到更多信息。与db.serverStatus()
类似,或者用于查找内存使用情况的方法,或者您可以找到并分享有关该服务器实例的任何其他内容。