内存不足错误 - mongodb 3.4 - Windows Server 2012 R2

时间:2017-05-16 12:20:08

标签: mongodb

我正在使用默认存储引擎(有线老虎)在Windows Server 2012 R2上运行mongo 3.4版。 mongod作为Windows服务运行。

不幸的是,该服务不时会因“内存不足”错误而崩溃。 这是来自mongolog:

2017-05-14T22:34:15.888+0000 I CONTROL  [ftdc] mongod.exe    
...\src\mongo\util\stacktrace_windows.cpp(239)  
mongo::printStackTrace+0x43
2017-05-14T22:34:15.888+0000 I CONTROL  [ftdc] mongod.exe                                                    
???
2017-05-14T22:34:15.896+0000 I CONTROL  [ftdc] mongod.exe    
...\src\mongo\util\allocator.cpp(51)            ???
2017-05-14T22:34:15.896+0000 I CONTROL  [ftdc] mongod.exe                                                    
???
2017-05-14T22:34:15.896+0000 I CONTROL  [ftdc] mongod.exe                                                    
???
2017-05-14T22:34:15.896+0000 I CONTROL  [ftdc] mongod.exe                                                    
???
2017-05-14T22:34:15.896+0000 I CONTROL  [ftdc] mongod.exe                                                    
???
2017-05-14T22:34:15.896+0000 I CONTROL  [ftdc] mongod.exe                                                    
???
2017-05-14T22:34:15.896+0000 I CONTROL  [ftdc] mongod.exe                                                    
???
2017-05-14T22:34:15.896+0000 I CONTROL  [ftdc] mongod.exe                                                    
???
2017-05-14T22:34:15.902+0000 I CONTROL  [ftdc] ucrtbase.DLL                                                  
crt_at_quick_exit+0x7d
2017-05-14T22:34:15.902+0000 I CONTROL  [ftdc] KERNEL32.DLL                                                  
BaseThreadInitThunk+0x22
2017-05-14T22:34:15.902+0000 F -        [ftdc] out of memory.

经过一番研究,人们建议限制内存使用量:

  1. 使用WSRM(https://www.captaincodeman.com/2011/02/27/limit-mongodb-memory-use-windows) 不幸的是,此功能目前在Windows 2012服务器上不可用。
  2. 在特殊容器或虚拟机(Heper-V / Vmware ...)中运行mongod以限制其资源 - 我想问题将在虚拟机中返回 - 该过程将在那里失去记忆。
  3. 限制WiredTiger缓存大小(https://docs.mongodb.com/manual/faq/storage/#to-what-size-should-i-set-the-wiredtiger-cache) - 我已经将大小减小到1 Gb并且没有帮助。除此之外,它只限制缓存,mongod进程本身可以通过其他方式使用RAM。
  4. - 我看到linux版本中有“unlimit”标志可以设置MongoDB: out of memory

    - Windows版本中有类似的配置吗?

    - 增加页面文件大小有帮助吗?

    - 其他建议?

    谢谢!

0 个答案:

没有答案