9

更新:这是在 Meteor v0.4 (2012) 之后修复的。出于历史目的:


摘自du

2890768 ./Code/Meteor/QuarterTo/.meteor/local/db/journal
2890772 ./Code/Meteor/QuarterTo/.meteor/local/db
2890776 ./Code/Meteor/QuarterTo/.meteor/local
2890788 ./Code/Meteor/QuarterTo/.meteor
2890804 ./Code/Meteor/QuarterTo

我只是问,因为它在我的 Dropbox 中,并把我推到了极限。

4

4 回答 4

7

执行时meteor run,它会使用默认的 mongo 设置启动 mongodb,因此它会在.meteor/local/db/journal.

没有明显的方法可以禁用此行为。作为一种解决方法,我所做的是更改文件app/lib/mongo_runner.js并添加一个--nojournal在启动时传递给 mongodb 的参数。

我为此创建了一个问题:https ://github.com/meteor/meteor/issues/15

于 2012-04-12T10:36:32.820 回答
1

也许您可以对 mongoDB 使用 smallfiles=true 参数?它将创建最小的 prealloc 文件

于 2012-04-12T14:36:07.230 回答
1

您可以通过将 --noprealloc 参数传递给 mongod 来关闭预分配。缺点是每次需要分配新的存储文件时都会出现暂停。根据您使用的文件系统(例如,ext3 与 ext4),这可能会导致用户出现明显的延迟。

于 2012-04-12T21:59:57.883 回答
1

对我有用的命令是:

  1. 如果 mongodb 实例正在运行,则停止它

sudo service mongod stop

  1. 创建新的 mongodb 实例而不需要 3+GB 的预分配空间并使用小文件。

mongod --noprealloc --smallfiles

如果您收到“错误:dbpath (/data/db) 不存在”。运行 2 时,然后在 2 之前运行这些命令。 sudo mkdir -p /data/db/

sudo chown `id -u` /data/db

于 2015-03-02T09:59:01.877 回答