解決MongoDB占用內(nèi)存過大頻繁死機(jī)的方法詳解
從MongoDB 3.4開始,默認(rèn)的WiredTiger內(nèi)部緩存大小是以下兩者中的較大者:
50%(RAM-1 GB),或 256 MB
例如,在總共有4GB RAM的系統(tǒng)上,WiredTiger緩存將使用1.5GB RAM()。
相反,總內(nèi)存為1.25 GB的系統(tǒng)將為WiredTiger緩存分配256 MB,因?yàn)檫@是總RAM的一半以上減去1 GB()。
// 4GB
0.5 * (4 GB - 1 GB) = 1.5 GB
// 1.25GB
0.5 * (1.25 GB - 1 GB) = 128 MB < 256 MB
看完文檔,我查看了自己的內(nèi)存使用
$ free -h
# 沒啟動(dòng)mongod
total used free
Mem: 3.7G 2.4G 1.3G
# 啟動(dòng)mongod
total used free
Mem: 3.7G 1.8G 364M
直接占滿內(nèi)存了
參考了一部分網(wǎng)上的文章,大致的意思就是說,MongoDB占用了太多內(nèi)存,被系統(tǒng)kill掉了,所以出現(xiàn)宕機(jī)現(xiàn)象
解決方式
添加兩個(gè)參數(shù)
修改配置 mongodb.conf
# 為高速緩存分配的最大內(nèi)存量;默認(rèn)為物理RAM的1/2 # wiredTigerCacheSizeGB <float> wiredTigerCacheSizeGB=0.5 # 最大同時(shí)連接數(shù),默認(rèn)1000000
更多關(guān)于MongoDB占用內(nèi)存過大的問題解決方法請(qǐng)查看下面的相關(guān)鏈接
相關(guān)文章
MongoDB的基礎(chǔ)查詢和索引操作方法總結(jié)
MongoDB使用JavaScript作為shell腳本,可以代替關(guān)系型數(shù)據(jù)庫中的SQL語句完成查詢操作,包括索引下的查詢操作,這里我們就來整理MongoDB的基礎(chǔ)查詢和索引操作方法總結(jié):2016-07-07
Ubuntu環(huán)境下mongodb安裝配置詳細(xì)步驟
大家好,本篇文章主要講的是Ubuntu環(huán)境下mongodb安裝配置詳細(xì)步驟,感興趣的同學(xué)快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-11-11
深入分析Mongodb數(shù)據(jù)的導(dǎo)入導(dǎo)出
這幾天想著公司要用MongoDB,自然就要用到數(shù)據(jù)導(dǎo)入導(dǎo)出,就自己學(xué)習(xí)了一下。本文介紹了mongoDb導(dǎo)入導(dǎo)出數(shù)據(jù)的方法,有需要的朋友參考下。2015-05-05
對(duì)標(biāo)mongodb存儲(chǔ)類JSON數(shù)據(jù)文檔統(tǒng)計(jì)分析詳解
這篇文章主要介紹了對(duì)標(biāo)mongodb存儲(chǔ)類JSON數(shù)據(jù)文檔統(tǒng)計(jì)分析,只是介紹了簡(jiǎn)單的查詢,其實(shí)針對(duì)各種統(tǒng)計(jì)分析場(chǎng)景,clickhouse提供了超級(jí)多的統(tǒng)計(jì)分析函數(shù)、窗口函數(shù)等等,當(dāng)然針對(duì)數(shù)組的數(shù)據(jù)類型也有很多的統(tǒng)計(jì)分析函數(shù),需要的朋友可以參考下2022-06-06
Mongodb中MapReduce實(shí)現(xiàn)數(shù)據(jù)聚合方法詳解
Mongodb是針對(duì)大數(shù)據(jù)量環(huán)境下誕生的用于保存大數(shù)據(jù)量的非關(guān)系型數(shù)據(jù)庫,針對(duì)大量的數(shù)據(jù)。接下來通過本文給大家介紹Mongodb中MapReduce實(shí)現(xiàn)數(shù)據(jù)聚合方法詳解,感興趣的朋友一起學(xué)習(xí)吧2016-05-05

