Ubuntu

Mongod 在 Ubuntu 14.04 上陷入停止/等待

  • April 3, 2021

我按照文件在 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

引用自:https://serverfault.com/questions/823717