make -jN buildworld on < 512MB ram

David O'Brien obrien at FreeBSD.org
Fri Nov 9 18:13:52 UTC 2012


On Wed, Oct 31, 2012 at 12:58:18PM -0700, Alfred Perlstein wrote:
> It seems like the new compiler likes to get up to ~200+MB resident when 
> building some basic things in our tree.
> Unfortunately this causes smaller machines (VMs) to take days because of 
> swap thrashing.

You could try reducing data seg size (ulimit -d) to something matching
"RAM" size.  GCC has two parameters to try to keep its memory usage
"reasonable":

http://gcc.gnu.org/onlinedocs/gcc-4.2.4/gcc/Optimize-Options.html
'ggc-min-expand' and 'ggc-min-heapsize'.

ggc-min-expand
	...
	If getrlimit is available, the notion of "RAM" is the smallest of
	actual RAM and RLIMIT_DATA
ggc-min-heapsize
	The default is the smaller of RAM/8, RLIMIT_RSS, or a limit which
	tries to ensure that RLIMIT_DATA or RLIMIT_AS are not exceeded

I don't know if Clang/LLVM has something similar or not.

-- 
-- David  (obrien at FreeBSD.org)


More information about the freebsd-hackers mailing list