Недостаточно памяти для компилятора Solaris 12.3 C++
У меня есть файл кода C++, сгенерированный с помощью swig, размером 24 МБ, около 5 000 000 строк кода. Я могу скомпилировать его, если установить уровень оптимизации компилятора на xO0, но не получается, как только я добавляю любые другие флаги компилятора C++ (например, xprofile ...). Я использую компилятор C++ Solaris Studio 12.3.
Ниже приведена ошибка консоли:
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: ошибка: недостаточно памяти
Заранее спасибо.
1 ответ
Я обнаружил, что эта статья предполагает, что это связано с тем, что Solaris объем памяти для сегментов данных.
Следуя инструкциям в блоге, попробуйте снять ограничение.
$ usermod -K defaultpriv=basic,sys_resource karel
Теперь выйдите из системы и снова войдите в систему и измените лимит:
$ ulimit -d unlimited
Затем проверьте, что лимит изменился
$ ulimit -d
Выход должен быть unlimited