在Debian系統處理MongoDB內存溢出可從以下方面入手:
/etc/mongod.conf
中storage.wiredTiger.engineConfig.cacheSizeGB
參數,建議設置為系統可用內存的60%。limit()
限制返回數據量,通過explain()
分析查詢計劃。net.maxIncomingConnections
限制連接數,避免過多空閑會話占用內存。db.adminCommand({setParameter: 1, tcmallocAggressiveMemoryDecommit: 1})
主動回收內存。db.serverStatus().mem
查看內存使用,清理過期數據,使用compact
命令優化存儲。sysctl
設置vm.swappiness
控制Swap使用,避免過度依賴磁盤交換。操作前建議在測試環境驗證配置效果,優先通過調整配置和優化查詢解決問題,避免直接重啟服務影響業務。