我已經為我的服務器(Ubuntu 20.04)使用了 mongodb(v3.6.8),它多年來一直運行良好。最近,它在運行幾天后被 systemd 殺死并且無法重新啟動。我重新啟動 sysemd,它作業了幾個小時,然后又死了。參考systemd狀態:
$ systemctl status mongodb
● mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: failed (Result: signal) since Sat 2022-05-14 22:15:09 UTC; 5h 51min ago
Docs: man:mongod(1)
Process: 2463713 ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS (code=killed, signal=KILL)
Main PID: 2463713 (code=killed, signal=KILL)
有誰知道如何解決這個問題?
更新日志:
$ sudo journalctl -u mongodb.service
-- Logs begin at Wed 2022-05-11 06:03:08 UTC, end at Sun 2022-05-15 04:55:05 UTC. --
May 14 13:01:23 localhost systemd[1]: mongodb.service: Main process exited, code=killed, status=9/KILL
May 14 13:01:23 localhost systemd[1]: mongodb.service: Failed with result 'signal'.
May 14 17:29:35 localhost systemd[1]: Started An object/document-oriented database.
May 14 22:15:09 localhost systemd[1]: mongodb.service: Main process exited, code=killed, status=9/KILL
May 14 22:15:09 localhost systemd[1]: mongodb.service: Failed with result 'signal'.
May 15 04:10:53 localhost systemd[1]: Started An object/document-oriented database.
更新: cmd "dmesg -T" 顯示原因是記憶體不足。
[Sat May 14 22:15:05 2022] Out of memory: Killed process 2463713 (mongod) total-vm:2486640kB, anon-rss:1133764kB, file-rss:0kB, shmem-rss:0kB, UID:112 pgtables:3240kB oom_score_adj:0
uj5u.com熱心網友回復:
您可能需要減少wiredTiger cacheSizeGB 以避免mongod被認為是高記憶體消費者并被作業系統意外殺死......考慮到您只有16GB RAM,如果您沒有設定此選項,它將分配一半的RAM(8GB ) 在您的 mongod.conf 檔案中,您可以將其減少如下:
storage:
wiredTiger:
engineConfig:
cacheSizeGB: 4
Afcourse 減少此快取大小可能會影響查詢的執行時間......
uj5u.com熱心網友回復:
使用 dmesg -T 顯示系統殺死 mongodb 的原因(在問題部分更新),這是因為“ot ouf memory”。Mongodb 消耗 2486640kB 而我的服務器是 16 GB,所以 mongodb 不會消耗太高的記憶體。
失敗是因為其他程式占用記憶體太大,不是mongodb問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/478888.html
