fio was created to allow benchmarking specific disk IO workloads. It can issue its IO requests using one of many synchronous and asynchronous IO APIs, and can also use various APIs which allow many IO requests to be issued with a single API call.
fio accepts job descriptions in a simple-to-understand text format. Several example job files are included. Fio displays all sorts of I/O performance information, including complete IO latencies and percentiles.
fio is a tool that will spawn a number of threads or processes doing a particular type of I/O action as specified by the user.
The typical use of fio is to write a job file matching the I/O load one wants to simulate.
fio spawns a number of threads or processes doing a particular type of I/O action as specified by the user. fio takes a number of global parameters, each inherited by the thread unless otherwise parameters given to them overriding that setting is given. The typical use of fio is to write a job file matching the I/O load one wants to simulate.
Key Features
- Uses pthread mutexes for signalling and locking.
- Various global options through which different type of workloads can be generated.
- Wide range of I/O engines (sync, mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio, and more).
- Batch mode.
- Very extensive set of parameters.
- Cross-platform support – works on (at least) Linux, Solaris, AIX, HP-UX, OSX, NetBSD, OpenBSD, Windows, FreeBSD, and DragonFly. Some features and/or options may only be available on some of the platforms.
Website: github.com/axboe/fio
Support: Mailing List
Developer: Jens Axboe and many contributors
License: GNU General Public License version 2.0
fio is written in C. Learn C with our recommended free books and free tutorials.
Related Software
| Benchmark Tools | |
|---|---|
| hyperfine | Rust-based command-line benchmarking tool |
| Phoronix Test Suite | Comprehensive testing and benchmarking platform |
| s-tui | Terminal-based stress test and monitoring tool |
| fio | Scriptable I/O tool for storage benchmarks and drive testing |
| KDiskMark | HDD and SSD benchmarking with friendly graphical user interface |
| iperf3 | Active measurement of network performance on IP networks |
| IOzone | Filesystem benchmark tool |
| stress-ng | Stress next generation |
| Hardinfo2 | System information and benchmark tool |
| sysbench | Scriptable database and system performance benchmark |
| GtkStressTesting | Stress and monitor hardware components |
| glmark2 | Measure the performance of OpenGL 2.0 and OpenGL ES 2.0 |
| HardInfo | System Profiler and Benchmark |
| UnixBench | Original BYTE UNIX benchmark suite |
| netperf | A network performance benchmark |
| vkmark | Vulkan benchmarking suite |
| GNOME Disks | View, modify and configure disks and media |
| bonnie++ | Benchmark suite software |
| LLCbench | Low Level Architectural Characterization Benchmark Suite |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

