我有一个由Swig生成的24MB C ++代码文件,将近500万行代码。将编译器优化级别设置为xO0时,我能够对其进行编译,但是一旦添加任何其他C ++编译器标志(如xprofile ...),它就会失败。我正在使用Solaris Studio 12.3 C ++编译器。
以下是控制台错误:
Element size (in bytes): 48
Table size (in elements): 2560000
Table maximum size: 134217727
Table size increment: 5000
Bytes written to disk: 0
Expansions required: 9
Segments used: 1
Max Segments used: 1
Max Segment offset: 134217727
Segment offset size:: 27
Resizes made: 0
Copies due to expansions: 4
Reset requests: 0
Allocation requests: 2827527
Deallocation requests: 267537
Allocated element count: 4086
Free element count: 2555914
Unused element count: 0
Free list size (elements): 0
ir2hf:错误:内存不足
谢谢。
答案 0 :(得分:0)
我发现这个article暗示着它与Solaris数据段的内存量有关。
按照博客中的步骤操作,尝试删除限制。
$ usermod -K defaultpriv=basic,sys_resource karel
现在注销并再次登录并更改限制:
$ ulimit -d unlimited
然后检查限制是否已更改
$ ulimit -d
输出应为unlimited