Re: Is there a way to tell poudriere to allocate more memory to a pkg build?

From: Dennis Clarke <dclarke_at_blastwave.org>
Date: Fri, 23 May 2025 19:13:37 UTC
On 5/23/25 15:00, Mark Millard wrote:
> Dennis Clarke <dclarke_at_blastwave.org> wrote on
> Date: Fri, 23 May 2025 17:45:17 UTC :
> 
>> I have been watching qt6-webengine-6.8.3 fail over and over and over
>> for some days now and it takes with it a pile of other stuff.
>>
>> In the log I see this unscripted trash of a message :
>>
>> [00:05:03] FAILED: v8_context_snapshot.bin
>> [00:05:03] /usr/local/bin/python3.11
>> ../../../../../qtwebengine-everywhere-src-6.8.3/src/3rdparty/chromium/build/gn_run_binary.p
>> y ./v8_context_snapshot_generator --output_file=v8_context_snapshot.bin
>> [00:05:03]
>> [00:05:03]
>> [00:05:03] #
>> [00:05:03] # Fatal error in , line 0
>> [00:05:03] # Oilpan: Out of memory
>> [00:05:03] #
>> [00:05:03] #
> 
> Way to little context so all I can do is basically form
> questions at this point.
> 

Sorry ... I just realized that other people replied to me OFF-LIST and
that is not helpful to others.

So the machine titan is fairly beefy :

titan#
titan# uname -apKU
FreeBSD titan 15.0-CURRENT FreeBSD 15.0-CURRENT #1 
main-n277353-19419d36cf2a: Mon May 19 20:40:28 UTC 2025 
root@titan:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 amd64 1500043 
1500043
titan#
titan# sysctl hw.model
hw.model: Intel(R) Xeon(R) CPU E5-2697A v4 @ 2.60GHz
titan#
titan# sysctl hw.ncpu
hw.ncpu: 64
titan#
titan# sysctl hw.physmem
hw.physmem: 549598998528
titan#
titan# sysctl hw.freemem
sysctl: unknown oid 'hw.freemem'
titan#
titan# sysctl kstat.zfs.misc.arcstats.memory_free_bytes
kstat.zfs.misc.arcstats.memory_free_bytes: 404796436480
titan# sysctl vm.kmem_map_free
vm.kmem_map_free: 431405096960
titan#

Also plenty of storage and local NVMe stuff etc etc and dual
NVidia GPU's that do nothing at all.  For now.

We ( myself and others ) have already found that the problem was
me. No big surprise.

USE_TMPFS=yes
TMPFS_LIMIT=32
MAX_MEMORY=32
# MAX_FILES=1024
MAX_EXECUTION_TIME=172800
PARALLEL_JOBS=64
PREPARE_PARALLEL_JOBS=64

That was the problem in the poudriere config.

I commented out the MAX_MEMORY and TMPFS_LIMIT and then watched
as www/qt6-webengine built just fine. Guess the jail needed more
than 32G eh?

> I assume that you have not explicitly restricted the memory
> space for any processes, so that RAM+SWAP is fully available
> to everything. If not, you need to report on the details.
>

Yup .. I had restrictions in place. Those very very few packages
are hogs. Just massive running pigs for memory it seems.


> How much RAM? How much SWAP space? (So: how much RAM+SWAP?)
> (RAM+SWAP does not vary per process tree or per builder,
> presuming no deliberate restrictions have been placed.)

512G mem and 32G swap which never gets touched.

> 
> Do you even have "whatever it seems to want" configured
> for the RAM+SWAP? (I'm guessing that you do not know that
> the "128G" figure is in fact involved.)
>

I commented out those restrictions. Makes me worry that some other
packages will come along and fail because they need 384G of mem or
something silly like that. I have been advised ( in the last hour )
that chromium ports generate +40000 source files and such. That is
just abusive but the way of the future I am sure.


> How many parallel builders are active in the bulk run
> as the bulk build approaches the failure?

I think 64 max.

> 
> How much RAM+SWAP in use by other builders or other things
> on the system as the system progresses to that failure (not
> after the failure)?
> 

....

*sigh*

The problem was me.

> ZFS (and its ARC)? UFS? If ZFS: Any tuning?
>

No tuning. It just works(tm) and that is ZFS.


> Basically: all the significant sources of competing for
> RAM+SWAP?
> 
> .... 
> ===
> Mark Millard
> marklmi at yahoo.com
> 
> 


It feels like the correct approach is just give everything to the
poudriere bulk situation and then watch for flames.

No flames? No smoke? Great .. it is working.



-- 
--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken