Restraining poudriere
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 12 Jun 2021 17:29:57 UTC
In playing with poudriere on raspberry pi 3 and 4 it seems to work well on the 8 GB Pi4 but is over-optimistic on the 1 GB Pi3. Can poudriere be configured to tackle packages one at a time? For example, it started to build both sqlite8 and llvm10 at the same time. I know the setup in this example can finish llvm (just barely) with 4 threads and turning off OOMA with vm.pfault_oom_attempts="-1" in /boot/loader.conf. The intervals of high swap use are generally quite brief, struggling through them seems to reward use of 4 threads. With OOMA turned off and 6 GB of swap a poudriere run on 14.0-CURRENT #0 main-n247255-f20893853e8: Wed Jun 9 18:29:07 PDT 2021 stalled with login: swap blk zone exhausted, increase kern.maxswzone swblk zone ok swap blk zone exhausted, increase kern.maxswzone swblk zone ok swap blk zone exhausted, increase kern.maxswzone swblk zone ok swap blk zone exhausted, increase kern.maxswzone swblk zone ok swap blk zone exhausted, increase kern.maxswzone swblk zone ok swap blk zone exhausted, increase kern.maxswzone swblk zone ok swap blk zone exhausted, increase kern.maxswzone swblk zone ok swap blk zone exhausted, increase kern.maxswzone swblk zone ok swap blk zone exhausted, increase kern.maxswzone Jun 12 09:17:09 www kernel: pid 1044 (sh), jid 0, uid 0, was killed: out of swap space Jun 12 09:17:40 www kernel: pid 2145 (cc), jid 23, uid 65534, was killed: out of swap space Jun 12 09:17:40 www syslogd: last message repeated 1 times Jun 12 09:18:38 www kernel: pid 2179 (sh), jid 0, uid 0, was killed: out of swap space swblk zone ok swap blk zone exhausted, increase kern.maxswzone Jun 12 09:20:00 www kernel: pid 2180 (cron), jid 0, uid 0, was killed: out of swap space Jun 12 09:22:13 www kernel: pid 2181 (sshd), jid 0, uid 0, was killed: out of swap space Despite killing processes, the machine remains unresponsive short of calling the debugger. A backtrace reports KDB: enter: Break to debugger [ thread pid 11 tid 100003 ] Stopped at kdb_alt_break_internal+0x1a8: undefined f904411f db> bt Tracing pid 11 tid 100003 td 0xffffa00000bf4580 db_trace_self() at db_trace_self db_stack_trace() at db_stack_trace+0x11c db_command() at db_command+0x244 db_command_loop() at db_command_loop+0x54 db_trap() at db_trap+0xf8 kdb_trap() at kdb_trap+0x1c4 handle_el1h_sync() at handle_el1h_sync+0x74 --- exception, esr 0xf2000000 kdb_alt_break_internal() at kdb_alt_break_internal+0x1a8 kdb_alt_break() at kdb_alt_break+0xc uart_intr_rxready() at uart_intr_rxready+0x88 uart_intr() at uart_intr+0x128 intr_event_handle() at intr_event_handle+0xf4 intr_isrc_dispatch() at intr_isrc_dispatch+0x74 bcm2835_intc_intr() at bcm2835_intc_intr+0xa0 intr_event_handle() at intr_event_handle+0xf4 intr_isrc_dispatch() at intr_isrc_dispatch+0x74 bcm_lintc_intr() at bcm_lintc_intr+0x1d4 intr_irq_handler() at intr_irq_handler+0x80 handle_el1h_irq() at handle_el1h_irq+0x70 --- interrupt cpu_idle() at cpu_idle+0x74 sched_idletd() at sched_idletd+0x164 fork_exit() at fork_exit+0x74 fork_trampoline() at fork_trampoline+0x14 db> Persuading poudriere to bite off packages one at a time would help, if it's possible. I'm game to try increasing kern.maxswzone, but given the Pi3's i/o limitations that seems unlikely to help much. Thanks for reading! bob prohaska