這裏需要巨大的幫助,因爲這影響了我們的生產實例。MongoDb副本服務器由於內存不足而死亡?
一個副本服務器是缺乏存儲器失敗因(見下文來自kern.log片的塊)
kernel: [80110.848341] Out of memory: kill process 4643 (mongod) score 214181 or a child
kernel: [80110.848349] Killed process 4643 (mongod)
UPDATE
kernel: mongod invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0
kernel: [85544.157191] mongod cpuset=/ mems_allowed=0
kernel: [85544.157195] Pid: 7545, comm: mongod Not tainted 2.6.32-318-ec2
透視:
- 主服務器數據庫大小是50GB,其中30GB是由索引填充的。
- 主服務器有7GB RAM,而輔助服務器有3.1GB RAM。
- 這兩臺服務器都是64位機器,分別運行Debian/Ubuntu。
- 兩個服務器
註上運行蒙戈2.0.2: 我看到吉拉 - 蒙戈的網站最近類似issue has been created - 沒有問題的答案呢。
是的,在重新同步過程中發生了這個問題 - 我已經安裝了這個服務器並添加爲副本成員,我相信Mongo會在輔助服務器(?)中重新同步 – 2012-03-29 10:17:28
副本是否有交換分區?它很有可能被殺死,因爲同步和隨後的索引構建消耗了太多的內存 - 添加swap會停止,但意味着它會運行緩慢 – 2012-03-29 10:53:52
根據您的建議我添加了一個交換文件,在那裏,讓我看看是否有幫助。 – 2012-03-29 11:18:23