On 11/28/13, 2:29 PM, Gabriele Svelto wrote:
On 28/11/2013 08:09, Gregory Szorc wrote:
Peak RSS likely has increased significantly (hundreds to gigabytes
range).
OK, that's what I was curious about.
Memory is cheap and getting cheaper. Nobody paid by Mozilla to develop
Firefox should have a machine with less than 16 GB. Adding 25%+ to build
times to accommodate people on old hardware is not acceptable.
My desktop machine's got 32GiB but there's a number of contributors or
partners' employees that might not be on such beefy hardware. We often
had issues in the past with potential FxOS contributors running into OOM
errors while doing their first build. Another common case of OOMs are
people building inside a VM. Just yesterday I helped another mozillian
figure out why his FxOS build had started to fail. It turned out he was
building inside a VM with too many jobs and too little memory dedicated
to it.
Also I'm not sure how our automated build infrastructure copes with this
but I would assume we should have enough memory there (or if we don't
the memory/CPU time trade-off is probably worth the improvement in build
times).
We can, however, add build system warnings when "inadequate" hardware is
detected. [...] In the interim, patches welcome.
Since we compute the number of build jobs ourselves (unless the user
manually overrides that value) we might enforce some simple
rule-of-thumb like no more than 1 build job per GB of memory
irrespective of the number of CPUs, or something like that. I'm willing
to contribute something along the lines but I'd first like to gather
some memory consumption measures with and without unified sources.
mach already records memory usage during builds if psutil installs
properly during configure. See objdir/.mozbuild/build_resources.json.
This only works with |mach build|.
I'd love to see patches to
python/mozbuild/mozbuild/resources/html-build-viewer/ to render memory
stats.
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform