On Sat, 2022-08-27 at 20:23 +0200, Alexander Kanavin wrote: > I'm not sure this is right as a global change. This fixes situations > where 3 xz instances run on your specific setup, what about 4? Or 5? > Or n instances for all n in N?
Thanks for the quick reply. I'd like to make the defaults safe for everyone, perhaps a simple fix would be to set XZ_MEMLIMIT to just below 100/BB_NUMBER_THREADS by default? > > I think you need to limit the amount of threads rather to match > available RAM, and do it via site.conf and not bitbake.conf. ?= I don't think it is currently possible to limit the number of 'xz' processes though. (Note that they are 3 distinct 'xz' processes, so setting XZ_THREADS has no effect, which controls only the number of threads that a single 'xz' process would use). The closest would be BB_NUMBER_THREADS, but that controls a lot of other things too (parallel package fetch perhaps)? > assignment is used in bitbake.conf exactly for that purpose. Currently the openembedded defaults don't work: the build always OOMs, at least on this particular target (or one with a large enough rootfs). The defaults should be conservative enough so they work on all systems (i.e. memlimit * number of xz processes < 100%), the user can then further tweak the memlimit vs number of processes (note *not* threads) tradeoff in their local conf file as you suggest. Best regards, --Edwin > > Alex > > On Sat, 27 Aug 2022 at 20:15, Edwin Török via lists.openembedded.org > <edwin=etorok....@lists.openembedded.org> wrote: > > > > By default a build such as [1] might run 3 'xz' in parallel: > > ``` > > Currently 3 running tasks (11878 of 11883) 99% > > > ################################################################# > > > ##### > > #### | > > 0: demo-coreip-xfce4-1.0-r0 do_image_ext4 - 3m17s (pid 2088739) > > 1: demo-coreip-xfce4-1.0-r0 do_image_tar - 3m16s (pid 2088743) > > 2: demo-coreip-xfce4-1.0-r0 do_image_wic - 3m16s (pid 2088745) > > ``` > > > > However the default memory usage limit of `xz` is 50% each, so this > > will > > attempt to use 150% memory, and it gets OOM killed by systemd-oomd > > on > > Fedora 36. > > ``` > > Aug 27 18:38:57 fedora systemd-oomd[3150]: Killed > > /user.slice/user-1000.slice/user@1000.service/app.slice/app- > > org.gnome.Terminal.slice/vte-spawn-2d92eb7b-b005-41b4-a786- > > fc8c0d360ce3.scope due to memory used (66890584064) / total > > (67332812800) and swap used (7744446464) / total (8589930496) being > > more than 90.00% > > ``` > > > > Even with systemd-oomd turned off it'd eventually start swapping > > heavily > > on a system with 64GiB of physical memory and 8GiB of swap. > > > > Reduce memory limit on xz so that we can run 3 in parallel without > > driving the host close to or OOM. 25% seems to work on this > > particular > > build and allows it to complete successfully. > > > > [1] https://github.com/sifive/freedom-u-sdk/tree/2022.06.00 > > > > Signed-off-by: Edwin Török <ed...@etorok.net> > > --- > > meta/conf/bitbake.conf | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf > > index 2a3cf6f8aa..48ba52c12c 100644 > > --- a/meta/conf/bitbake.conf > > +++ b/meta/conf/bitbake.conf > > @@ -857,7 +857,8 @@ BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}" > > PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}" > > > > # Default parallelism and resource usage for xz > > -XZ_MEMLIMIT ?= "50%" > > +# A build might run 3 'xz' in parallel, so don't exhaust memory > > +XZ_MEMLIMIT ?= "25%" > > XZ_THREADS ?= "${@oe.utils.cpu_count(at_least=2)}" > > XZ_THREADS[vardepvalue] = "1" > > XZ_DEFAULTS ?= "--memlimit=${XZ_MEMLIMIT} --threads=${XZ_THREADS}" > > > > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#169966): https://lists.openembedded.org/g/openembedded-core/message/169966 Mute This Topic: https://lists.openembedded.org/mt/93294351/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-