fio vs stress-ng
fio
github.comstress-ng
github.comSide by side
| Figure | fio | stress-ng |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Android | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · PC stress testing tools | 8.5 (#4) | 7.6 (#12) |
| Platforms | The project lists Windows installers for tagged releases and packages for Linux distributions, Solaris, and BSDs; its release notes also mention macOS. | The README lists Linux, Solaris, BSD variants, Minix, Android, MacOS X, Serenity OS, GNU/Hurd, Haiku, WSL, Cygwin, and SunOS/Dilos among supported or tested systems. |
| Purpose | fio simulates configurable I/O workloads for performance testing and reproducing bugs. | stress-ng stress tests computer systems by exercising physical subsystems and operating system kernel interfaces. |
Plans
In their own words
fio
fio is a free storage I/O workload simulator for performance testing and reproducing bugs. Its job files can define multiple threads, processes and files, with sequential, random or mixed reads and writes using buffered, direct or raw I/O. Tune block and I/O size, I/O engine, queue depth, target files or devices, and job count. Documented engines include Linux io_uring and libaio, POSIX asynchronous I/O, and synchronous read/write options. Separate engines support HTTP GET and PUT requests to WebDAV or S3 endpoints and access to Ceph RADOS and RBD. Verification options can check written data after a workload, including repeated burn-in tests. Results are available in normal text, terse, JSON and JSON+ formats, plus bandwidth and latency logs; terse output is intended for scripts, tables or graphs. fio supports Linux, Solaris, AIX, HP-UX, macOS, NetBSD, OpenBSD, Windows, FreeBSD and DragonFly. The HTTP engine supports direct I/O only at depth 1, with scaling through multiple jobs.
stress-ng
stress-ng is a free utility for loading computer subsystems and operating system kernel interfaces with stress tests. Its project lists more than 390 tests, including suites 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 originally aimed to reveal hardware problems such as thermal overruns and operating system bugs under heavy load. stress-ng can report test throughput to help observe performance changes between operating system releases or hardware types, but the project says it is not a precise benchmark suite. Some tests may heat poorly designed hardware or create excessive system thrashing that is hard to stop. On Linux, running as root adjusts out-of-memory settings so stressors can become unkillable in low-memory conditions; the README advises careful use. The project documents Docker snapshots and installation on recent Ubuntu releases through its PPA. It is licensed under GPL-2.0 and costs nothing.