mongodb錯誤tcmalloc: large alloc out of memory, printing stack and exiting解決辦法
最近Mongodb會經(jīng)常突然掛掉,檢查日志發(fā)現(xiàn)如下的錯誤:
tcmalloc: large alloc 2061584302080 bytes == (nil) @
Tue Nov 26 17:45:04.539 out of memory, printing stack and exiting:
0xdddd81 0x6cfb4e 0x121021d 0xafcc1f 0xaf815f 0xaf8d1d 0xaf8e0f 0xaf52ae 0xaf53c9 0xb1eb11 0x8ab6a2 0x8d78ca 0x8d951d 0x8daa72 0xa80970 0xa8523c 0x9f9079 0x9fa5a3 0x6e8b88 0xdca34e
./mongod(_ZN5mongo15printStackTraceERSo+0x21) [0xdddd81]
./mongod(_ZN5mongo14my_new_handlerEv+0x3e) [0x6cfb4e]
./mongod(_Znwm+0x6d) [0x121021d]
./mongod(_ZNSt6vectorIN5mongo18DocumentSourceSort9KeyAndDocESaIS2_EE7reserveEm+0x6f) [0xafcc1f]
./mongod(_ZN5mongo18DocumentSourceSort12populateTopKEv+0x6f) [0xaf815f]
./mongod(_ZN5mongo18DocumentSourceSort8populateEv+0x2d) [0xaf8d1d]
./mongod(_ZN5mongo18DocumentSourceSort3eofEv+0xf) [0xaf8e0f]
./mongod(_ZN5mongo18DocumentSourceSkip7skipperEv+0x6e) [0xaf52ae]
./mongod(_ZN5mongo18DocumentSourceSkip3eofEv+0x9) [0xaf53c9]
./mongod(_ZN5mongo8Pipeline3runERNS_14BSONObjBuilderERSs+0x1b1) [0xb1eb11]
./mongod(_ZN5mongo15PipelineCommand3runERKSsRNS_7BSONObjEiRSsRNS_14BSONObjBuilderEb+0x132) [0x8ab6a2]
./mongod(_ZN5mongo12_execCommandEPNS_7CommandERKSsRNS_7BSONObjEiRSsRNS_14BSONObjBuilderEb+0x3a) [0x8d78ca]
./mongod(_ZN5mongo7Command11execCommandEPS0_RNS_6ClientEiPKcRNS_7BSONObjERNS_14BSONObjBuilderEb+0x71d) [0x8d951d]
./mongod(_ZN5mongo12_runCommandsEPKcRNS_7BSONObjERNS_11_BufBuilderINS_16TrivialAllocatorEEERNS_14BSONObjBuilderEbi+0x5f2) [0x8daa72]
./mongod(_ZN5mongo11runCommandsEPKcRNS_7BSONObjERNS_5CurOpERNS_11_BufBuilderINS_16TrivialAllocatorEEERNS_14BSONObjBuilderEbi+0x40) [0xa80970]
./mongod(_ZN5mongo8runQueryERNS_7MessageERNS_12QueryMessageERNS_5CurOpES1_+0xd7c) [0xa8523c]
./mongod() [0x9f9079]
./mongod(_ZN5mongo16assembleResponseERNS_7MessageERNS_10DbResponseERKNS_11HostAndPortE+0x383) [0x9fa5a3]
./mongod(_ZN5mongo16MyMessageHandler7processERNS_7MessageEPNS_21AbstractMessagingPortEPNS_9LastErrorE+0x98) [0x6e8b88]
./mongod(_ZN5mongo17PortMessageServer17handleIncomingMsgEPv+0x42e) [0xdca34e]
內(nèi)存溢出了,一開始我以為是有些排序沒有加索引,后來一些地方加了索引后還是會出現(xiàn),細想了下,如果是沒加索引的話,是不會讓整個Mongodb宕機的。
后來在Mongodb的issue上查到了這樣一條提交的bug清單SERVER-10136(https://jira.mongodb.org/browse/SERVER-10136)。
原來aggregation如果傳遞一個$skip特別大的值的時候,就會內(nèi)存溢出。我看到這個bug已經(jīng)被修復(fù)了,不過是在2.5.2版本,最新的穩(wěn)定版是2.4.8。所以我們需要在自己的應(yīng)用程序里面控制,讓$skip的值不要超出總長。
- MongoDb的"not master and slaveok=false"錯誤及解決方法
- 解決啟動MongoDB錯誤:error while loading shared libraries: libstdc++.so.6:cannot open shared object file:
- 關(guān)于Mongodb參數(shù)說明與常見錯誤處理的總結(jié)
- Mongodb常見錯誤與解決方法小結(jié)(Mongodb中經(jīng)常出現(xiàn)的錯誤)
- MongoDB錯誤32-bit servers don''t have journaling enabled by default解決方法
- 解決mongodb在ubuntu下啟動失敗,提示couldn‘t remove fs lock errno:9 Bad file descriptor的錯誤
- 修復(fù) Mac brew 安裝 mongodb 報 Error: No available formula with the name ‘mongodb’ 問題詳解
相關(guān)文章
Centos 7.2中MongoDB數(shù)據(jù)庫的安裝與卸載教程
這篇文章主要給大家介紹了關(guān)于在Centos 7.2中MongoDB數(shù)據(jù)庫的安裝與卸載的相關(guān)資料,文中還給大家總結(jié)了在過程中可能會遇到的一些問題的解決方法,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-03-03MongoDB服務(wù)端JavaScript腳本使用方法
這篇文章主要介紹了MongoDB服務(wù)端JavaScript腳本使用方法,需要的朋友可以參考下2015-10-10Mongodb數(shù)據(jù)庫兩種啟動方法小結(jié)
MongoDB是一種開源的服務(wù)器端NoSQL數(shù)據(jù)庫管理系統(tǒng),它提供了一種靈活的框架,可以快速地存儲、處理和管理大量的數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于Mongodb數(shù)據(jù)庫兩種啟動方法的相關(guān)資料,需要的朋友可以參考下2023-12-12MongoDB學(xué)習(xí)以及集群搭建的實踐全紀(jì)錄
這篇文章主要給大家介紹了關(guān)于MongoDB學(xué)習(xí)以及集群搭建的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09MongoDB 內(nèi)存管理相關(guān)總結(jié)
這篇文章主要介紹了MongoDB 內(nèi)存管理的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用MongoDB數(shù)據(jù)庫,感興趣的朋友可以了解下2021-03-03express使用Mongoose連接MongoDB操作示例【附源碼下載】
這篇文章主要介紹了express使用Mongoose連接MongoDB操作,結(jié)合實例形式分析了express使用Mongoose連接MongoDB的具體步驟與相關(guān)實現(xiàn)技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下2019-07-07