[cfe-dev] Out of Memory Building Clang and LLVM

Neil Nelson via cfe-dev cfe-dev at lists.llvm.org
Thu Jun 20 13:07:01 PDT 2019


 From https://llvm.org/docs/GettingStarted.html

Just finished a clang build on Xubuntu 19.04 using cpp.

cmake -G Ninja -DLLVM_ENABLE_PROJECTS="clang" ../llvm

Memory usage hit a maximum at the link for bin/clang-9 at 13 gigabytes 
with ninja -j 1.

Disk usage for the build directory was 61 gigabytes.

My sense is that this kinds of usage is more than what a typical new 
user would expect. Perhaps the page above might be changed to reflect 
the expected result and with an easier route noted by Erich below.

On 6/20/19 6:56 AM, Keane, Erich via cfe-dev wrote:
>
> Clang definitely hits a pathological case in LD that makes it do 
> terrible things if you use use more than a process or two in DEBUG.
>
> However, if you use “gold” or “LLD” instead, it works fine.  Assuming 
> you have LLD, you can do:
>
> -DLLVM_USE_LINKER=lld or –DLLVM_ENABLE_LLD=ON
>
> Otherwise you should have gold available, which you can do with:
>
> -DLLVM_USE_LINKER=gold
>
> I can only run about 3-4 links at a time with LD and can do –j30 with 
> no problems with Gold.
>
> *From:*cfe-dev [mailto:cfe-dev-bounces at lists.llvm.org] *On Behalf Of 
> *James Courtier-Dutton via cfe-dev
> *Sent:* Thursday, June 20, 2019 3:27 AM
> *To:* nick <xerofoify at gmail.com>
> *Cc:* cfe-dev at lists.llvm.org Developers <cfe-dev at lists.llvm.org>
> *Subject:* Re: [cfe-dev] Out of Memory Building Clang and LLVM
>
> On Wed, 19 Jun 2019 at 23:36, nick via cfe-dev <cfe-dev at lists.llvm.org 
> <mailto:cfe-dev at lists.llvm.org>> wrote:
>
>     Greetings,
>
>     Seems I'm running out of memory on a host system trying to build
>     llvm, tooling and clang. It was configured
>     as:
>     cmake -DLLVM_ENABLE_PROJECTS=clang -G "Unix Makefiles" ../llvm
>
>     and build with:
>
>     make -j4 using gcc as the host compiler, version 8.
>
>     The dmesg I'm getting is related to the linker and not sure if the
>     linker has a bug or it's normal
>     to expect 3GB or more used for linking clang. Doesn't seem to be
>     but not sure.
>
>     dmesg output:
>     [186517.023397] Out of memory: Kill process 2143 (ld) score 286 or
>     sacrifice child
>     [186517.023403] Killed process 2143 (ld) total-vm:4622188kB,
>     anon-rss:3202188kB, file-rss:4kB, shmem-rss:0kB
>
> HI,
>
> I have a 16 Core/32 Thread system with 32GB RAM, and it can have 
> difficulty building CLANG/LLVM.
>
> The link stage definitely needs to be with make -j1.
>
> That being said, if you force a "Release" version, and not the "Debug" 
> version, much less RAM is needed.
>
> Kind Regards
>
> James
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20190620/d993ffd0/attachment.html>


More information about the cfe-dev mailing list