【发布时间】:2017-12-16 09:54:47
【问题描述】:
在构建 Docker 映像时,有一些 C++ 脚本编译,我最终遇到如下错误:
src/amun/CMakeFiles/cpumode.dir/build.make:134: recipe for target 'src/amun/CMakeFiles/cpumode.dir/cpu/decoder/encoder_decoder_state.cpp.o' failed
virtual memory exhausted: Cannot allocate memory
但是在主机上构建相同的.cpp 代码时,它可以正常工作。
经过一番检查,错误消息似乎与人们在 Raspberry Pi 上得到的错误消息相似,https://www.bitpi.co/2015/02/11/how-to-change-raspberry-pis-swapfile-size-on-rasbian/
经过一番谷歌搜索,Mac forum 上的这篇帖子说:
根据需要动态创建交换文件,直到磁盘被 已满,或内核用完页表空间。我不认为你 可以更改 Mac OS X 内核中的页表空间限制。我有 我使用 OS X 这么多年都没见过任何东西。
有没有办法增加 Docker 在 Mac OS 上构建的交换空间?
如果没有,还有什么办法可以克服构建 Docker 镜像时出现的“虚拟内存耗尽”错误?
【问题讨论】:
-
您需要澄清您在 macos 上使用的 docker 实现。例如,使用 boot2docker,您需要调整授予 virtualbox vm 的内存
标签: c++ macos docker virtual-memory docker-build