逐步将数据塞入mongodb,一项数据塞入完成就不去动它了。
但是虽然运行时间的增加,发现我的小小8G内存中有1G+的空间被mongo占用。
随着时间上升,还有增大的趋势。
mongo已经被我设置为服务,在关闭程序后,mongo进程仍然占用1G+的内存。
有3个问题想请教下:
1.我记得文档里说,mongo会自动将部分数据转移到硬盘里。请问转移是在什么时候发生?
2.在关闭程序后,已经停止对mongo的写入操作,如何释放内存中占用的空间,并确保已经转移到硬盘里?
3.如果我不关闭程序,内存是不是会被逐步占用直到被消耗完全吗?如果是的话windows环境下,如何对其内存占用做出限制?查了下这个问题,大部分是说 ulimit 这是linux的吧?
最后,内存使用问题官方的FAQ就有: https://docs.mongodb.com/manu...
mongodb 3.4版本的Wiredtiger存储引擎(2.8版本引入,3.2版本默认)使用内存如下:
Starting in 3.4, the WiredTiger internal cache, by default, will use the larger of either:
也就是默认情况下WT引擎就会使用至多50%的内存做cache,所以你的内存使用是完全没有问题的。如果你希望限制cache的内存大小,可以配置storage.wiredTiger.engineConfig.cacheSizeGB属性