Ubuntu
Mongod 在 Ubuntu 14.04 上陷入停止/等待
我按照文件在 Ubuntu 14.04 上安裝了 MongoDB。它執行和工作正常,除了它每隔幾個小時就會神秘地停止,並且需要手動重啟
service mongod restart
才能重新開始。發生這種情況時,mongod.log 中沒有任何內容。此外,當我重新啟動然後檢查狀態時
service mongod status
,它會給我mongod stop/waiting
一個事件,儘管應用程序能夠連接到它。我一直在尋找如何調試它,但被困在這一點上。
事實證明,問題在於 OOMkiller 殺死了 mongod 程序。如 MongoDB 生產說明(https://docs.mongodb.com/v3.2/administration/production-notes/#disk-and-storage-systems)中所述:
分配交換空間可以避免記憶體爭用問題,並且可以防止 Linux 系統上的 OOM Killer 殺死 mongod。
我使用以下命令創建交換文件,解決了這個問題(在 Ubuntu 14.04 上):
> sudo fallocate -l 2G /swapfile > sudo chmod 600 /swapfile > sudo mkswap /swapfile > sudo swapon /swapfile
然後我將以下內容添加到
/etc/fstab
文件中以使其永久化:/swapfile 無交換 sw 0 0