How much memory do I need for buildworld?

Dimitry Andric dim at FreeBSD.org
Sat Nov 22 17:01:42 UTC 2014


On 22 Nov 2014, at 16:51, Rostislav Krasny <rosti.bsd at gmail.com> wrote:
> I've a fresh FreeBSD 10.1 installed on an old 32-bit machine. I've
> checked out revision 274850 of the base sources and ran 'make
> buildworld'. After some time it has failed:
> 
> ===> lib/clang/libllvmx86disassembler (depend)
> tblgen -gen-disassembler  -I
> /usr/src/lib/clang/libllvmx86disassembler/../../../contrib/llvm/include
> -I /usr/src/lib/clang/libllvmx86disassembler/../../../contrib/llvm/lib/Target/X86
> -d X86GenDisassemblerTables.inc.d -o X86GenDisassemblerTables.inc.h
> /usr/src/lib/clang/libllvmx86disassembler/../../../contrib/llvm/lib/Target/X86/X86.td
> *** Signal 9
> 
> Stop.
> make[4]: stopped in /usr/src/lib/clang/libllvmx86disassembler
> *** Error code 1
> 
> 
> According to /var/log/messages it was killed because of out of memory:
> 
> Nov 22 16:55:13 mercury kernel: swap_pager: out of swap space
> Nov 22 16:55:13 mercury kernel: swap_pager_getswapspace(16): failed
> Nov 22 16:55:13 mercury kernel: pid 22841 (tblgen), uid 0, was killed:
> out of swap space
> 
> This machine has 256MB of RAM and one 64MB swap partition.

This is most likely the problem: you need more RAM for this particular
instance of tblgen.  On my -CURRENT i386 box, it takes ~369MiB of RSS to
build the X86 disassembler tables.

I'm surprised you didn't run into OOM problems earlier, with so little
memory.  For such "router" like machines, it is obviously easier to do
the build on a fast desktop machine, then install over NFS, or rsync
/usr/src and /usr/obj to the target machine.


> Previously
> I used FreeBSD 7.4-CURRENT on this machine with two swap partitions of
> 64MB each and never had such a problem. I use it as a router, i.e.
> there is no X and no other memory greedy processes.

Yes, 7.4 is much smaller, and does not have any big C++ programs in it,
so a buildworld is more likely to succeed on small memory machines.


> Could it be related to an llvm bug fixed by following commit?
> 
> http://svnweb.freebsd.org/base?view=revision&revision=274696

No, this is unlikely.  This problem only occurred 1) in the compiler
itself, 2) very specific ports, and 3) when compiling with debug info
enabled.

-Dimitry

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 194 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20141122/d21aca75/attachment.sig>


More information about the freebsd-current mailing list