docker build内存不足,但似乎有足够的内存

时间:2017-07-04 22:51:26

标签: docker

我正在使用docker容器构建一个elixir / phoenix应用程序。 这已经有一段时间了,但最近它停止了工作,错误总是与内存不足有关。

例如,最常见的故障点是在Elixir的mix compile任务期间(Dockerfile中时间最重的任务),它与错误崩溃:

eheap_alloc: Cannot allocate 147852528 bytes of memory (of type "old_heap").

Crash dump is being written to: erl_crash.dump...done

有时它可能能够通过该步骤,但在稍后的步骤中将再次失败,例如编译前端代码的brunch build。有时它只是在其他步骤失败而没有特定的错误消息,只是说:

Killed

在发生这种情况时,我可以轻松检查htop,看看我使用的是3GB或4GB内存,总共16GB,所以不乏物理RAM。

经过一番挖掘后,我发现sudo sysctl vm.overcommit_memory=1可以提供帮助,但也没有运气。

完全相同的版本在我的另一台运行Arch Linux的计算机上运行正常,而这台运行Ubuntu 16.04

0 个答案:

没有答案