我有一大口产生的24MB的C ++代码文件,代码几乎5,00,000行。我能够设置编译器优化级别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:错误:内存不足
提前致谢。
我发现这个article表明它与事实有关的Solaris的内存用于数据段的数量。
继在博客中的步骤,尽量去除限制。
$ usermod -K defaultpriv=basic,sys_resource karel
现在,注销并再次登录并改变该限制:
$ ulimit -d unlimited
然后检查限制已经改变
$ ulimit -d
输出应该是unlimited