MongoDB:内存占用过大问题以及wiredTigerCach
作者:
dex0423 | 来源:发表于
2021-01-04 11:07 被阅读0次
1. 问题
- 在使用 MongoDB 过程中,会遇到 内存占用随着数据操作而线性增加 的情况;
- 如果数据持续的大量写入的话,会大量占用服务器内存,出现 OOM 问题,在服务器内存保护机制作用下,MongoDB 会被 kill 掉。
2. 原因
- mongo为了优化他的读写效率,将内存当做缓存,所以读写次数越多,缓存就越大;
- 在MongoDB 3 版本以后,默认情况下,缓存默认使用1 GB或安装的物理内存的一半,以较大者为准;
- 如果服务器物理内存位 32G,那 MongoDB 默认的缓存空间就是 16G,如果服务器有其他应用也会大量占用内存,很可能会导致服务器内存不足。
3 解决方案
# 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
网友评论