mongodb 磁盘空间什么时候释放

 我来答
百度网友076219b
2013-12-31 · TA获得超过2682个赞
知道小有建树答主
回答量:540
采纳率:66%
帮助的人:207万
展开全部
  mongodb自己是不会释放空间的。你需要根据实际情况考虑策略。

  mongodb之所以占用空间非常大,一是因为日志非常庞大,一是为了保证连续的存储空间本身会提前申请很大的空间。你可以根据需求选择禁用日志,或者一定时间日志轮询,对使用的空间定时压缩等。

  存储空间占用不断增大

  数据库中被删除数据的空间不会自动被释放,需要通过repair或compact操作回收。repair操作针对整个数据库,需要停机,否则可能造成数据丢失,compact操作针对单个collection压缩。

  在启动数据库时可以选择noprealloc参数,禁止数据库预分配空间,但会影响到插入效率。也可以设置每次预分配空间的大小,这样可以一定程度减小mongodb对空间的占用,当数据量增大后效果会变的不明显。

  journal文件很大

  journal文件夹下有几个文件不会自动删除,会不断变大。在未进行操作时journal文件也会占用4G空间。启动时可以通过nojournal参数禁用某些节点的journal功能。考虑使用日志轮询来处理journal文件占用空间过大问题。
  
以前使用的时候做的笔记摘抄了一点,时间有些久远,你可以顺着我提供的两个函数,主要是compact,可以不关机压缩,还不错,还有对日志轮询,从这两个角度考虑解决
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式