美文网首页
MongoDB:内存占用过大问题以及wiredTigerCach

MongoDB:内存占用过大问题以及wiredTigerCach

作者: dex0423 | 来源:发表于2021-01-04 11:07 被阅读0次

1. 问题

  • 在使用 MongoDB 过程中,会遇到 内存占用随着数据操作而线性增加 的情况;
  • 如果数据持续的大量写入的话,会大量占用服务器内存,出现 OOM 问题,在服务器内存保护机制作用下,MongoDB 会被 kill 掉。

2. 原因

  • mongo为了优化他的读写效率,将内存当做缓存,所以读写次数越多,缓存就越大;
  • 在MongoDB 3 版本以后,默认情况下,缓存默认使用1 GB或安装的物理内存的一半,以较大者为准;
  • 如果服务器物理内存位 32G,那 MongoDB 默认的缓存空间就是 16G,如果服务器有其他应用也会大量占用内存,很可能会导致服务器内存不足。

3 解决方案

  • 修改(增加)cacheSizeGB配置:
# Where and how to store data.
storage:
  dbPath: /var/lib/mongo
  #dbPath: /mongodata 
  journal:
    enabled: true
#  engine:
  mmapv1:
    smallFiles: true
  wiredTiger:
    engineConfig:
      configString : cache_size=512M

相关文章

网友评论

      本文标题:MongoDB:内存占用过大问题以及wiredTigerCach

      本文链接:https://www.haomeiwen.com/subject/blnmoktx.html