MemCordon runs a command and its descendants with optional workload-wide memory and elapsed-time limits. Use it when builds, tests, workers, or other commands can spawn child processes and need one containment boundary with reliable cleanup and exit-status reporting.
Download the latest release
for your platform and put memcordon (.exe) on PATH, or install with Cargo:
cargo install memcordonInstallation from source requires Rust 1.85 or newer.
Apply a 1 GiB memory limit and a 10-minute deadline:
memcordon +1GiB +10m ./workload./workload and any following arguments are passed through unchanged. MemCordon
preserves the workload's exit status unless a limit or supervision failure occurs.
| Status | Meaning |
|---|---|
123 |
Deadline |
124 |
Confirmed memory limit |
125 |
Wrapper or cleanup failure |
--restart can relaunch the workload after configured limits; its
conditions and delays are configurable.
Linux and Windows use cgroup v2 or Job Objects for hard memory enforcement when
the host permits it. macOS uses sampled watchdog monitoring, which can overshoot
or miss short bursts. memcordon doctor --json reports backend capabilities and
host limitations without launching a workload.
- Run
memcordon --helpfor command-line help. - See the contract reference for policies, platform behavior, reports, and exit codes.
- Review the changelog or MIT license.
