oomstaller(1)
πΈ NAME πΈ
okay so bestie, meet oomstaller(1) π β the command is oomstaller, and its whole job is to suppress swap thrashing at build time. no cap.
β¨ SYNOPSIS β¨
oomstaller [<options>] command [arg] ...
π DESCRIPTION π
real talk: this tool monitors the memory usage of each process when you're performing a build, and it suspends processes as necessary to prevent swap thrashing from happening. it's giving responsible build main character energy β¨
to perform a build using this tool, specify make or ninja as the argument of this tool and execute it like this:
$ oomstaller make -j `nproc`
π OPTIONS π
--thres <percentage, default=75>β suspends processes so that memory usage by running build processes does not exceed the specified percentage of available memory. keep it under the vibe limit π--max-parallel <number of processes, default=0>β suspends processes so that the number of running build processes does not exceed the specified number.0means no limit. a process is counted as one process even if it has multiple threads. one process = one process, threads don't get extra headcount π«Ά--max-parallel-thrash <number of processes, default=1>β specifies the maximum number of processes to run when thrashing is detected.0means no limit. emergency thrash mode gets its own cap β--period <seconds, default=1>β specifies the interval at which memory usage of each process is checked and processes are controlled. the check-in rhythm π--thrash <minimum available memory (MB), default=256>β if the amount of available memory falls below the specified value, it is assumed that swap thrashing is occurring. below that line = thrash o'clock π--show-statβ displays statistics when finished. receipts at the end π
π«Ά TIPS π«Ά
β οΈ important caveat bestie: if you kill this tool withSIGKILL, a large number of build processes will remain suspended withSIGSTOP. not slay. to prevent this from happening, useSIGTERMorSIGINTto kill this tool. π
you can send SIGCONT to all processes run by you with the following command:
$ killall -v -s CONT -u $USER -r '.*'
π¦ SEE ALSO π¦
- Home Page β
https://github.com/shibatch/oomstaller
π AUTHOR π
Naoki Shibata (shibatch@users.sourceforge.net) the legend behind the tool π
version 0.3.0 β’ dated 01 Dec 2024 β’ oomstaller(1) β mwah, go build safely πβ¨
π¦ where this page comes from
- opensuse-leap 16.0: oomstaller 0.3.0-bp160.1.12 Β· BSL-1.0
- opensuse-leap 16.0: oomstaller 0.3.0-bp160.1.12 Β· BSL-1.0
- opensuse-leap 16.0: oomstaller 0.3.0-bp160.1.12 Β· BSL-1.0
- opensuse-leap 16.0: oomstaller 0.3.0-bp160.1.12 Β· BSL-1.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms