- Home
- Hardware Diagnostic Software
- stress-ng
stress-ng
What it is
stress-ng is a free utility for putting computer systems under load by exercising hardware subsystems and operating system kernel interfaces. The project lists more than 390 stress tests, including tests for CPU, virtual memory, filesystems, and memory or CPU caches. CPU tests exercise floating-point, integer, bit-manipulation, and control-flow operations. Listed architecture coverage includes ARM, x86-64, RISC-V, MIPS, Power, SPARC, and s390x. The project says it was initially intended to expose hardware problems such as thermal overruns and operating system bugs that appear under heavy load. It can report test throughput for observing performance changes across operating system releases or hardware types, but is not described as a precise benchmark suite. Some tests can make poorly designed hardware run hot or cause difficult-to-stop system thrashing. On Linux, running as root changes out-of-memory settings, which can leave stressors unkillable in low-memory situations; the project advises careful use. The repository identifies the license as GPL-2.0 and documents Docker snapshots and recent Ubuntu installation through a PPA.
For and against
For
- Lists more than 390 stress tests.
- Covers CPU, memory, filesystems, and caches.
- Architecture coverage includes ARM, x86-64, and RISC-V.
- Free and licensed under GPL-2.0.
Against
- Some tests can cause hardware to run hot.
- System thrashing may be difficult to stop.
- Root use on Linux can make stressors unkillable in low-memory situations.
- Not intended as a precise benchmark suite.
The verdict
stress-ng provides broad system stress coverage and can report throughput, but the project does not present it as a precise benchmark. Its load tests can create heat or difficult-to-stop thrashing, so users should exercise caution.
Who it suits
stress-ng may suit users who need to exercise hardware and operating system interfaces under load or observe throughput changes. It requires care, particularly when run as root on Linux.
Plans and prices
Free
stress-ng is free and will always be free
Read 3 Oct 2026 · github.com
On the record
- Architectures
- The README lists test coverage across architectures including ARM, x86-64, RISC-V, MIPS, Power, SPARC, and s390x.github.com · read 3 Oct 2026
- Build dependencies
- The build detects optional library dependencies and can disable functionality when support libraries are missing.github.com · read 3 Oct 2026
- CPU coverage
- CPU stress tests exercise floating point, integer, bit manipulation, and control flow operations.github.com · read 3 Oct 2026
- License
- The repository identifies its license as GPL-2.0.github.com · read 3 Oct 2026
- Packaging
- The README documents running the latest snapshot in a Docker container and installing recent Ubuntu versions from the project’s PPA.github.com · read 3 Oct 2026
- Privileges
- When run as root on Linux, stress-ng adjusts out-of-memory settings so stressors are unkillable in low-memory situations; the README advises judicious use.github.com · read 3 Oct 2026
- Purpose
- stress-ng stress tests computer systems by exercising physical subsystems and operating system kernel interfaces.github.com · read 3 Oct 2026
- Stress tests
- The project lists 390+ stress tests, including 100+ CPU, 60+ virtual memory, 80+ filesystem, and 50+ memory or CPU cache tests.github.com · read 3 Oct 2026
- Support and contributions
- The README invites patches by email or merge requests through the stress-ng GitHub repository.github.com · read 3 Oct 2026
- Throughput metrics
- stress-ng can measure test throughput to observe performance changes across operating system releases or hardware types, but the project says it is not a precise benchmark suite.github.com · read 3 Oct 2026
- Usage caution
- Some tests can make poorly designed hardware run hot and cause excessive system thrashing that may be difficult to stop.github.com · read 3 Oct 2026
- Use cases
- The project says it was originally intended to expose hardware issues such as thermal overruns and operating system bugs that occur under heavy load.github.com · read 3 Oct 2026
The review
stress-ng is a free system stress-testing utility for administrators and developers who need to probe hardware and operating-system behavior under load. Its breadth makes it useful for investigating resilience across multiple subsystems, but it is not the right tool for precise benchmark scores or a narrowly targeted health check.
Overview
stress-ng applies workloads to physical subsystems and operating-system kernel interfaces. The project’s original aim was to expose problems such as thermal overruns and operating-system bugs that emerge under heavy load, making it a practical choice for deliberate stress investigations rather than routine performance ranking.
It can report test throughput, which helps compare observed changes across operating-system releases or hardware types. The project cautions that the results are not from a precise benchmark suite, so they should inform investigation rather than serve as definitive performance scores.
Key features
- Wide subsystem coverage: More than 390 stress tests include over 100 CPU, 60 virtual-memory, 80 filesystem, and 50 memory or CPU-cache tests. That range supports broad system probing, though it puts the burden on the user to choose workloads suited to the question at hand.
- Varied processor workloads: CPU stressors exercise floating-point and integer operations, bit manipulation, and control flow. This is useful when investigating how systems respond to different kinds of CPU load, rather than measuring a single standardized task.
- Multiple architectures: Documented coverage includes ARM, x86-64, RISC-V, MIPS, Power, SPARC, and s390x. The project also supports Android, Linux, macOS, self-hosted, and Windows platforms, a broad reach for teams working across different environments.
- Flexible deployment and builds: The README documents running the latest snapshot in Docker and installing recent Ubuntu versions from the project’s PPA. Builds detect optional library dependencies and can disable functionality when supporting libraries are absent, so the resulting feature set may depend on the build environment.
- Safety caveats matter: Some workloads can overheat poorly designed hardware or trigger excessive thrashing that is hard to stop. On Linux, running as root changes out-of-memory settings so stressors become unkillable in low-memory situations; that behavior makes careful privilege and workload choices essential.
Pricing
stress-ng is free, with a Free plan at no cost. There is no paid tier or trial to weigh, and the project states that it will always be free. That makes it accessible for individual investigations and system-level work without a software charge, though users must still account for the operational risks of running heavy stress workloads.
Platforms
The project lists Android, Linux, macOS, self-hosted, and Windows support. Its documented architecture range includes ARM, x86-64, RISC-V, MIPS, Power, SPARC, and s390x, making it relevant to a wider mix of systems than a single-platform diagnostic. The repository identifies the license as GPL-2.0.
Who it's for
Choose stress-ng when you need to load multiple hardware subsystems or kernel interfaces to investigate thermal behavior, bugs under pressure, or throughput changes across systems. Administrators and developers comfortable selecting workloads and managing the consequences of heavy load are its natural audience. For a precise benchmark, or for a user seeking a focused diagnostic rather than stress testing, look elsewhere.
Pros and cons
- Pro: More than 390 workloads span CPU, virtual memory, filesystem, and memory or CPU-cache testing, enabling broad investigations with one tool.
- Pro: Throughput reporting can help reveal changes across hardware types or operating-system releases when treated as observational data, not benchmark scores.
- Pro: Free availability and support across several platforms and architectures make it accessible for varied system environments.
- Con: Results are not intended as precise benchmark measurements, limiting its value for performance rankings.
- Con: Heavy workloads can produce heat or difficult-to-stop thrashing, and root execution on Linux can make stressors unkillable during low-memory conditions.
- Con: Optional dependencies can affect build functionality, so a build may not include every supported capability.
Alternatives
For other hardware diagnostic options, browse Hardware Diagnostic Software.
- Piston is an Android alternative with a free plan.
- Blackwire Drive Eraser & Sanitizer is a Windows option with a free personal, noncommercial plan for up to two drives at once; choose it when drive erasure is the specific task.
- Hard Disk Sentinel offers Linux and Windows versions and a trial; consider it when a disk-focused alternative is a better match.
- MemTest86 has Linux, macOS, self-hosted, and Windows support, with a free edition without usage restrictions and a paid Pro Download. It is a more focused choice when memory testing is the priority.
- PC-Doctor Toolbox offers Windows and web support, including a free personal-use plan for up to five personal systems; it may suit users seeking a personal diagnostic option rather than broad stress workloads.
- smartmontools is a free Linux, macOS, and Windows option built around the smartctl and smartd utilities; choose it for that utility-based approach instead of subsystem stress testing.
- HDAT2 is a free Windows option for users who prefer its freeware licensing terms and as-is warranty status.
- Intel VTune Profiler is a free Linux, self-hosted, and Windows tool available as a standalone download or through the Intel oneAPI Toolkit; it is a separate option for users seeking profiling rather than stress testing.
Verdict
stress-ng is a strong choice for administrators and developers who need extensive, free workloads to investigate system behavior under pressure. Its breadth and throughput observations are useful for probing changes and failure conditions, but users seeking precise benchmark results or a lower-risk, focused diagnostic should choose another tool.