Re: bitbake controlling memory use


Quentin Schulz
 

Hi Ferry,

On 1/3/23 15:29, Ferry Toth wrote:
Hi Alex,
Op 03-01-2023 om 15:18 schreef Alexander Kanavin:
I have to note that even the most expensive 16 Gb RAM module is less
than 100 Euro, and can be obtained for half that much. Surely you
value your time more than that?
Of course. And if I didn't I could reduce the number of `PARALLEL_MAKE`.
But I have also seen bitbake attempting to build nodejs, nodejs-native and binutils in parallel.
I think by default there are 4 tasks, with 16 threads, each could require 1GB RAM. Would you say, in such a case Yocto requires 64GB RAM?
And with increasing #cores it gets worse.
Not that it is too expensive to throw hardware at it, but it seems to be a fundamental problem that I would like to resolve. In my spare time of course.
Just to add that bitbake now supports pressure thresholds (since Kirkstone release I believe): https://docs.yoctoproject.org/bitbake/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-BB_PRESSURE_MAX_MEMORY

If your recipes put enough pressure on RAM before one or two of nodejs, nodejs-native and binutils gets scheduled, it would prevent that. However I believe if the timing is just right (unfortunate) and there's not enough pressure when all three recipes do_compile start, they would all start and you would have the same issue.

Cheers,
Quentin

Join yocto@lists.yoctoproject.org to automatically receive all group messages.