1. 程式人生 > >mongodb自動關閉:頁面檔案太小,無法完成操作

mongodb自動關閉:頁面檔案太小,無法完成操作

上次在一臺兩G記憶體的win server 2008電腦上執行一個程式,一段時間後mongod自動停止,發現日誌檔案最後有這樣的錯誤:

2014-11-30T00:32:32.914+0800 [conn30751] command taskdb.$cmd command: count { count: "result25", fields: null, query: { md5: "c390a22da3d411675883d6f692f266de" } } planSummary: COLLSCAN keyUpdates:0 numYields:0 locks(micros) r:312476 reslen:48 312ms
2014-11-30T00:32:32.921+0800 [conn30751] VirtualProtect for D:/data/db/taskdb/taskdb.3 chunk 4122 failed with errno:1455 頁面檔案太小,無法完成操作。 (chunk size is 67108864, address is 4068000000) in mongo::makeChunkWritable, terminating
2014-11-30T00:32:32.922+0800 [conn30751] taskdb.result25 Fatal Assertion 16362

然後看來是需要將虛擬記憶體加大才可以執行。 

頁面檔案太小,就增大虛擬記憶體:

1、右鍵點【我的電腦】-【屬性】-【高階】選項卡,

2、在【效能】欄內點【設定】-繼續點【高階】選項卡,

3、在【虛擬記憶體】欄內點【更改】-彈出【虛擬記憶體】對話方塊,就可以設定了。

4、單選【自定義大小】,在【初始大小】裡設定1024,在【最大值】裡設定2048(不能超過32位作業系統的記憶體定址範圍——4GB)。 
最後點一下【設定】可生效。如有必要,可重啟電腦。

建議將虛擬記憶體移動到除C盤之外的其它盤,例如D盤。以減輕對系統盤的壓力。
方法:仍在【虛擬記憶體】對話方塊,點選C盤卷標,單選【無分頁大小】。
再選D盤卷標,單選【自定義大小】,設定【初始大小】和【最大值】即可。