首先貼一下自動(dòng)生成的mongod.conf配置文件
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
# dbPath: /var/lib/mongodb
dbPath: /home/trade/soft/mongodb-4.2.2/db
# journal:
# enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 22222
bindIp: 0.0.0.0
# how the process runs
processManagement:
timeZoneInfo: /usr/share/zoneinfo
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
問題描述
- 遠(yuǎn)程阿里云服務(wù)器俊嗽,配置是2核2G堕仔。
- 只開運(yùn)行一個(gè)mongod服務(wù)躲因,只要運(yùn)行程序往數(shù)據(jù)庫(kù)中寫數(shù)據(jù),內(nèi)存占用就直線上升
解決過程
- 仔細(xì)過了一遍寫入程序趁耗,沒有問題
- 使用 mongodb 調(diào)優(yōu)工具沉唠,寫入讀取都沒有大問題
- 最后翻閱文檔,找到問題在
journal
配置項(xiàng)上
- 從以上圖片可以發(fā)現(xiàn):此配置是為了高可用苛败,在崩潰時(shí)會(huì)用來恢復(fù)數(shù)據(jù)满葛。每次存入數(shù)據(jù)都會(huì)被映射到磁盤上径簿,此過程會(huì)導(dǎo)致內(nèi)存占用過高
- 如果對(duì)數(shù)據(jù)的要求不是很高,可以在配置文件中關(guān)閉此配置嘀韧,cpu占用高的問題就解決了