Mongodb
Mongodb:分頁文件太小… Win2012上v2.6.4
幾週前我們有這個,mongo 不會重新啟動。我們有 30GB 記憶體。頁面文件最初是 4gb。幾週前我們第一次遇到這個問題時,我們將頁面文件增加到 12GB min/25GB max。
然後幾天前……伺服器再次終止:
2014-10-01T00:24:05.664-0500 [conn3421] insert dotnetwrapper_mongodb.LogItem ninserted:1 keyUpdates:0 numYields:0 locks(micros) w:1814629 1818ms 2014-10-01T00:24:05.914-0500 [conn3419] VirtualProtect for c:/MongoDB/Data/dotnetwrapper_mongodb/dotnetwrapper_mongodb.309 chunk 46821 failed with errno:1455 The paging file is too small for this operation to complete. (chunk size is 67108864, address is 2db94000000) in mongo::makeChunkWritable, terminating 2014-10-01T00:24:05.914-0500 [conn3419] dotnetwrapper_mongodb.LogItem Fatal Assertion 16362 2014-10-01T00:24:08.082-0500 [conn3419] mongod.exe ???
幸運的是,它恢復正常。
除了顯而易見的(不要將 mongo 用於生產系統!——這是一個日誌系統)……
我們需要做什麼才能永遠解決這個問題?(一個 50GB 的分頁文件似乎不合適……)
是的,答案在 mongo jira 系統中:
https://jira.mongodb.org/browse/SERVER-10044
- 知道問題
- 影響了很多使用者
- 在撰寫本文時,他們正在製定一項解決方案
截至 2015 年 3 月,該錯誤仍然存在,我們的 mongo 伺服器每隔一兩個月就會出現故障。
這是舊版本中舊 MMAPv1 儲存引擎的問題(另請參見https://serverfault.com/a/637052/239616 )。MongoDB 決定不修復它,而是參考他們的生產說明:
https://docs.mongodb.com/manual/administration/production-notes/#production-windows-pagefile
然而,一個更好的解決方案很可能是升級到更新版本的 MongoDB 並使用 WiredTiger 儲存引擎(或任何目前 MMAPv1 的替代品)。這應該可以消除問題(同時可能會引入大量新問題)。