编译错误:虚拟内存耗尽

时间:2014-03-17 18:43:22

标签: c++ memory swap ram

我正在尝试编译应用程序,但我似乎遇到了预设的内存约束。编译时,它给出了以下错误: “虚拟内存耗尽:NichtgenügendHauptspeicherverfügbar”,所以我读到这个没有足够的RAM + Swap可用。

当我在具有32GB RAM的机器上编译时,这是不太可能的。我检查了内存消耗,它分解为3GB。在不同的机器上编译应用程序,它需要大约3.5GB。我正在运行fedora 19,64bit。

我还使用ulimit -a检查了可用的用户内存,但所有内容都设置为无限(最大内存大小,虚拟内存)。

是否有其他地方可能会对进程或用户可用的最大内存设置限制?我开始没有选择了。

1 个答案:

答案 0 :(得分:0)

如果编译器内存不足,可能是由于编译器错误,或者是一些混乱的模板扩展(请记住,在C ++模板中图灵完成时,我记得有些疯狂的创意灵魂做了类似计算$ \ pi $到编译时的很多数字)。检查模板。

如果出现编译错误,请升级所有内容。尝试使用clang++代替g++。玩优化和其他设置。

代码来自哪里?有人建造了吗?