stress-ng
stress-ng loads CPU, memory, I/O, and kernel subsystems through hundreds of configurable stressors, reporting relative bogo-ops rates. It is used mainly for stability validation and targeted subsystem pressure rather than formal benchmarking.
stress-ng is a versatile tool for stress-testing and micro-benchmarking Linux and Unix systems. It descends from the simpler stress utility but offers vastly more coverage — hundreds of distinct stressors that exercise specific CPU instructions, memory patterns, I/O paths, schedulers, and kernel interfaces. Engineers use it to validate hardware stability, reproduce load conditions, and roughly compare subsystem performance.
Because it can target very specific behaviors — cache thrashing, NUMA memory access, floating-point math, system-call storms, filesystem operations, and more — stress-ng is used both to find thermal and stability problems under sustained load and to measure how a system behaves under particular kinds of pressure rather than as a single aggregate score.
What It Measures
stress-ng reports bogo-ops (bogus operations, a per-stressor count of completed iterations) and bogo-ops per second, deliberately named to signal they are relative, not absolute, performance figures. Each stressor produces its own bogo-op rate, so the tool measures comparative throughput for a chosen subsystem rather than a universal benchmark number. It also surfaces CPU load and can run alongside hardware monitoring for thermal and stability validation.
Methodology
The user selects one or more stressors, the number of worker processes per stressor, and a run duration or operation count. stress-ng spawns workers that hammer the chosen subsystem and tallies completed operations. A verify mode checks correctness of computations, useful for detecting unstable overclocks or failing hardware. Because the workload is configurable, reproducibility depends on fixing the stressor set, worker count, and duration.
How to Interpret Results
Treat bogo-ops per second as a relative figure: compare the same stressor, worker count, and version across systems, never different stressors against each other. Rising bogo-ops with more workers up to the core count indicates good parallel scaling. For stability testing, run demanding stressors for extended periods while monitoring temperature and errors — sustained operation without verify failures or crashes indicates a stable system. The metric's intentionally informal name warns against over-precise comparison.
Limitations
The bogo-ops metric is explicitly non-standard and not comparable across stressors or versions, so it is unsuitable as a formal benchmark score. Results vary with compiler, kernel, and configuration. stress-ng excels at applying pressure and finding faults rather than producing tidy, reportable performance numbers. For rigorous, comparable measurement, purpose-built benchmarks for each subsystem are more appropriate; stress-ng's strength is breadth, configurability, and stability validation.