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 carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.