MongoDB 異常當機與引數cacheSizeGB
近期,處理一MongoDB異常當機故障,與MongoDB引擎引數cacheSizeGB相關,該引數用來限制MongoDB的wiredTiger引擎使用記憶體的量。下邊是故障處理過程,供以後問題處理參考。
業務方反饋:MongoDB在2019.9.16 9:16:00異常當機,經手工正常重啟,但是檢視mongodb日誌沒有發現異常
報錯。
問題排查過程:
1、觀察mongodb的日誌,發現除了手工重啟的記錄,並沒有報錯日誌
2、根據mongodb執行的機制,它是消耗記憶體的大戶,並且執行在作業系統上的應用軟體無報錯直接當機,
一般是與作業系統資源故障相關,如:主機記憶體、IO、網路等等。
3、檢視主機作業系統日誌,發現有OOM告警提示
--2019.9.16 9:17:10分,作業系統日誌提示:mongod invoked oom-killer
--2019.9.16 9:17:12分,作業系統日誌提示:作業系統swap空間耗盡
--2019.9.16 9:17:13分,作業系統日誌提示:mongod程式28232被kill掉,被kill時其佔用記憶體31G左右
4、看作業系統記憶體工32G
5、檢視mongod的啟動配置檔案,配置檔案中並沒有限制mongod記憶體使用量的引數cacheSizeGB
6、分析總結:
2019.9.16 9:17:10~9:17:13,主機記憶體和swap相繼耗盡,引起 oom-killer kill mongod,導致mongodb資料庫
無疾而終。建議客戶在mongodb的啟動配置檔案中加入mongod的記憶體使用限制引數cacheSizeGB。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29357786/viewspace-2657180/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Kotlin藝術探索之引數和異常Kotlin
- 一次 Jedis 引數異常引發服務雪崩
- SQLServer mirror當機後error 9004異常處理SQLServerError
- python自定義異常,使用raise引發異常PythonAI
- mongoDB當機修復MongoDB
- 異常處理機制(二)之異常處理與捕獲
- Spring-RestTemplate之urlencode引數解析異常全程分析SpringREST
- Java 異常 隨機數 包裝類Java隨機
- oracle 11.2.0.4 rac節點異常當機之ORA-07445Oracle
- Spring Boot統一異常處理以及引數校驗Spring Boot
- 【PARANETERS】Oracle異常恢復相關的隱含引數Oracle
- 異常與IO
- Java 異常表與異常處理原理Java
- Linux基礎——BClinux8.2 排查vmcore異常當機問題Linux
- 記憶體管理實戰案例分析1:缺頁異常和檔案系統引發的當機記憶體
- MySQL:MGR修改max_binlog_cache_size引數導致異常MySql
- Java - 異常與FileJava
- Java異常機制Java
- [譯] Ruby 2.6 Kernel 的system 方法增加是否丟擲異常引數。
- [譯] Ruby 2.6 增加了 Integer 和 Float 方法的異常引數
- C#規範整理·異常與自定義異常C#
- nginx 常見引數以及重定向引數配置Nginx
- 線上ES叢集引數配置引起的業務異常案例分析
- python錯誤與異常Python
- 異常篇—— VEH 與 SEH
- 異常處理機制
- 機器學習引數模型與非引數模型/生成模型與判別模型機器學習模型
- 一場 Kafka CRC 異常引發的血案Kafka
- python生成器呼叫方法引發異常Python
- ORACLE 11.2.0.4 rac for linux 鏈路宕導致的單節點異常當機OracleLinux
- 用Go語言異常機制模擬TryCatch異常捕捉Go
- 前端效能與異常上報前端
- 把介面當作引數傳入
- Java異常處理機制Java
- C++ 異常機制(上)C++
- 電腦經常當機是什麼原因 電腦經常當機解決方法
- 深度覆盤-重啟 etcd 引發的異常
- 【高併發】由InterruptedException異常引發的思考Exception