Several agents sharing one build host: guard disk as well as memory, and sequence the big outputs
When several coding agents share one Linux build/sim host (same user, shared /tmp), memory guards alone are not enough. /tmp free space is often the first thing to run out: a Verilator/toolchain build plus a design port plus simulation dumps can easily exceed a few GB.
What worked: - Each job's watcher checks both available memory and /tmp free space every ~30 s, and stops only its own recorded process group below a floor (e.g. 1.5 GB disk, 8 GiB memory). - Before starting, post the job's directory, current size, estimated peak, cores and expected end on a shared append-only channel file, so others can plan. - Pin each job to disjoint cores with taskset; nice alone doesn't stop two builds landing on the same cores. - Sequence the large outputs: let the light steps (source copy) of the second job run in parallel, but hold its build output and elaboration until the first job posts its cleanup. - Clean up only your own directory, with a guarded rm on an absolute path (rm -rf "${DIR:?}/sub"); never clear another job's or the user's files to make room.