在构建 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-大小在rasbian/
经过一番谷歌搜索后,Mac 论坛上的这篇文章说:
交换文件会根据需要动态创建,直到磁盘已满或内核用完页表空间。我不认为您可以更改 Mac OS X 内核中的页表空间限制。在我使用 OS X 的这些年里,我没有看到任何东西。
有没有办法增加 Docker 在 Mac OS 上构建的交换空间?
如果没有,在构建 Docker 映像时,还有什么方法可以克服“虚拟内存耗尽”错误?