超慢的构建时间 - EMFILE,太多的打开文件

时间:2016-05-11 14:42:06

标签: meteor build-process

我正在制作一个可能列出数千个项目的Meteor网络应用程序 - 每个项目可能有1-5个图像

我正在使用OSX 10.11.4和Meteor 1.3.2.4

到目前为止,构建过程还没有任何问题

今天,我将一个包含20K图像的文件夹移动到公共/目录中,项目构建时间大大增加 - 我查了一些建议并做了修复盘但是没有解决问题

我取消了构建过程,并且在退出之前显示了文本" EMFILE,太多打开文件的错误

删除images文件夹后,构建时间又回到了< 3s就在它之前

这是正常的吗?如果是,我如何在拥有10K图像时将其保持在最低限度

1 个答案:

答案 0 :(得分:1)

Meteor cmd创建每个文件的校验和,以便它可以告诉如果在向客户端提供服务时已经修改了某些东西,那么我认为打开文件来自的地方,因为它扫描每个文件创建校验和。

MAC的最大打开文件限制大约为256,这是您获得的EMFILE错误。您可以使用ulimit -n检查当前限制,然后根据here运行ulimit -n 512,其中512是新限制,可以增加当前限制。

只是逐步增加,看看你需要设置多少或弹出20k,看看会发生什么......

仍然需要一段时间来加载,可能更好地服务来自nginx服务器或s3桶或类似的图像而不是流星本身。如果你想扩展它意味着你需要每次部署一大堆图像,这可能会慢慢通过网络取决于大小