最近在学习使用mongodb,发现它内存占用厉害,网上搜索了一下发现很多都利用use admin;db.runCommand({closeAllDatabases:1})来清除内存,我在3.0中发现没有该命令,
是3.0中取消了该命令还是我的打开的方法不对,查看了一下手册也没有发现类似的替代命令,请问最新版本中还有该命令么?如果有的话,应该怎么使用呢?
最近在学习使用mongodb,发现它内存占用厉害,网上搜索了一下发现很多都利用use admin;db.runCommand({closeAllDatabases:1})来清除内存,我在3.0中发现没有该命令,
是3.0中取消了该命令还是我的打开的方法不对,查看了一下手册也没有发现类似的替代命令,请问最新版本中还有该命令么?如果有的话,应该怎么使用呢?
很多人觉得数据库占用内存多有问题,其实这根本不是一个问题,不需要解决。
首先,数据库的首要任务是管理数据,如何更快地提供数据查询是所有数据库需要解决的问题。而各家的解决方案几乎是一致的,无论是SQLServer,MySQL,MongoDB,无一例外地用空间换效率。通俗地讲,都是尽可能多地使用内存,把所有有用的东西(索引,数据等)尽量加载到内存以提高运行速度。所以,这绝对不是一个Bug,而是期望行为。反过来想,如果一个数据库为了节省内存而运行缓慢,这就违背一个数据库的基本宗旨了。
搞清楚了这点,再来看你的问题。
参考资料:
Does MongoDB require a lot of RAM?
How do you empty the buffers and cache on a Linux system?
6 回答3.3k 阅读✓ 已解决
4 回答2k 阅读
2 回答2.5k 阅读
1 回答1k 阅读✓ 已解决
2 回答1.5k 阅读
2 回答1.7k 阅读
1 回答1k 阅读✓ 已解决
最近也在学习mongodb,推荐你个mongodb学习资料http://www.hubwiz.com/course/54bdfcb188dba012b4b95c9c/