我正在尝试使用 G++ 4.6 在内存资源受限的 Linux 系统上构建 C++ 库。该库大量使用了 Boost。
我在这里和其他网站上看到过各种关于编译速度的话题,但我对降低 G++ 对内存资源要求的提示和技巧很感兴趣,即使这意味着速度下降。
编辑:我试过为 Boost 使用预编译的头文件,这只会 boost 构建速度,但仍然需要大致相同的内存量。
最佳答案
您必须使用垃圾收集器设置。参数是 ggc-min-expand
和 ggc-min-heapsize
。还可以使用 ulimit 65536
(或其他)设置您的 ulimit 以减小堆大小 (RLIMIT_AS)。
gcc manual here 中有很多相关信息
一个好的设置可能是将 ggc-min-expand 参数设置为 0 并将 ggc-min-heapsize 参数设置为 8192 并尝试...
CXXFLAGS="$(CXXFLAGS) --param ggc-min-expand=0 --param ggc-min-heapsize=8192"或类似的值。
关于c++ - 减少 boost build 中的内存使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16371939/