MONGODB記憶體溢位

2021-07-10 13:42:09 字數 547 閱讀 2372

最近遇到乙個mongodb記憶體溢位的故障:

報錯資訊如下:

登入mongodb伺服器,發現mongodb已經關閉

檢視mongodb log:

2016-01-25t08:05:07.155+0800 [conn250804] query rmid_push_20161.record query: plansummary: idhack ntoskip:0 nscanned:1 nscannedobjects:1 idhack:1 keyupdates:0 numyields:1 locks(micros) r:15916 nreturned:1 reslen:177 2371ms

2016-01-25t08:05:07.282+0800 [snapshotthread] severe: out of memory, printing stack and exiting:

記憶體溢位是最後的日誌,例項已經關閉。

解決方案:

1、設定swap分割槽

2、sysctl vm.overcommit_memory=1

重啟mongodb

棧溢位,記憶體溢位

對於一台伺服器而言,每乙個使用者請求,都會產生乙個執行緒來處理這個請求,每乙個執行緒對應著乙個棧,棧會分配記憶體,此時如果請求過多,這時候記憶體不夠了,就會發生棧記憶體溢位。棧溢位是指不斷的呼叫方法,不斷的壓棧,最終超出了棧允許的棧深度,就會發生棧溢位,比如遞迴操作沒有終止,死迴圈。可以把記憶體比作...

linux 記憶體溢位排查 mysql記憶體溢位處理

業務場景 mysql 元件版本 mysql 5.7.25軟體架構 兩主兩從 01問題描述 mysql是乙個關係型資料庫管理系統,屬於oracle旗下產品。mysql是最流行的關係型資料庫管理系統之一,在web應用方面,mysql是最好的rdbms relational database manage...

mysql防止記憶體溢位 mysql記憶體溢位處理

主庫實列發生oom,例項程序由於占用記憶體達到linux系統的最大閾值,導致linux系統kill了mysql例項程序,可以通過如下方式檢視mysql使用了多少記憶體 檢視每個執行緒占用多少記憶體,然後乘以正在執行的執行緒 也就是排查sleep的 select read buffer size re...