mongodb 内存占用过高

首先贴一下自动生成的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:

问题描述

  • 远程阿里云服务器,配置是2核2G。
  • 只开运行一个mongod服务,只要运行程序往数据库中写数据,内存占用就直线上升

解决过程

  • 仔细过了一遍写入程序,没有问题
  • 使用 mongodb 调优工具,写入读取都没有大问题
  • 最后翻阅文档,找到问题在 journal配置项上
    mongo-journal.png
  • 从以上图片可以发现:此配置是为了高可用,在崩溃时会用来恢复数据。每次存入数据都会被映射到磁盘上,此过程会导致内存占用过高
  • 如果对数据的要求不是很高,可以在配置文件中关闭此配置,cpu占用高的问题就解决了
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容