4 ms·
Be sure to have enough RAM, so you will not run out of it. (For some reason, when building projects like LLVM with -j 16, 32 GB w/o swap may be not enough. Wit
by vetinari 7y ago
Be sure to have enough RAM, so you will not run out of it.
(For some reason, when building projects like LLVM with -j 16, 32 GB w/o swap may be not enough. With -j 2, it is enough, but takes an eternity).
- nikic 7y agoIf you build LLVM often, use the shared library build (BUILD_SHARED_LIBS=true). Most of the memory usage (and a large part of the time in incremental builds) comes from linking final artifacts if you do not use shared libraries.
- vetinari 7y agoThanks for the tip, unfortunately, when I'm building it (occasionally), the LLVM itself is part of another project (AMDVLK) and changes too.
- gigatexal 7y agoThe initial plan is for a 32GB (2x 16GB sticks) with plans to move to 64GB when possible.
- 0815test 7y agoIndeed, if you're bottlenecked on RAM, memory bandwidth itself will also be an issue (it seems to be the foremost bottleneck in modern compute, outside of single-threaded workloads. Part of why C-like languages are again becoming popular these days - they economize on memory-bandwidth per core). Might want to skip Ryzen 9 altogether and wait until the Threadripper parts are announced.
- tlamponi 7y agoYes, building Ceph with less than 24 GB ram on a 16 core machine will make it run into Out Of Memory situations here, so that the OOM-Killer is summoned and kills the build..
- jjuhl 7y agoMake sure to install and use ccache and give it a big cache size on a fast ssd (I use 96GiB). It speeds up rebuilds (after the cache is populated) quite significantly.