Я пытаюсь собрать библиотеку C ++ в системе Linux с ограниченными ресурсами памяти, используя G ++ 4.6. Библиотека активно использует Boost.
Я видел различные темы здесь и на других веб-сайтах, касающиеся скорости компиляции, но мне интересны советы и приемы, чтобы сделать G ++ менее требовательным к ресурсам памяти, даже если это означает потерю скорости.
РЕДАКТИРОВАТЬ: я пытался использовать предварительно скомпилированные заголовки для Boost, который улучшает только скорость сборки, но все еще требует примерно столько же памяти.
Вы должны играть с настройками сборщика мусора. Параметры ggc-min-expand
а также ggc-min-heapsize
, Также установите свой ulimit с ulimit 65536
(или что угодно) для уменьшения размера кучи (RLIMIT_AS).
Много информации об этом в Руководство GCC здесь
Хорошим параметром может быть установка параметра ggc-min-expand в 0 и параметра ggc-min-heapsize в 8192 и попытка с этим …
CXXFLAGS = «$ (CXXFLAGS) —param ggc-min-expand = 0 —param ggc-min-heapsize = 8192» или какое-то подобное значение.
Других решений пока нет …