fio

B
B tier on Disk Benchmark SoftwareScore 7.3 · #1 of 29
Android app
Not listed
Free plan
Yes
Runs on
Linux, Mac, Windows
fio.readthedocs.io
The fio homepage

Summary

fio is a free command-line tool for simulating user-defined I/O workloads for performance testing and reproducing bugs. Users can describe a workload in a job file or specify its parameters on the command line. Configurable settings include I/O patterns, block and I/O sizes, engines, queue depth, target files or devices, and the use of threads or processes. Results can be reported in normal, terse, JSON, or JSON+ formats. fio can run as a backend server and accept jobs from clients on other hosts, and its HTTP engine supports HTTP and S3 access. The tool runs on Linux, macOS, and Windows, as well as other listed operating systems. The documentation gives Windows 7 and Windows Server 2008 R2 as minimum versions; building on Windows requires Cygwin. Its --readonly option is intended to prevent writes and trims, and fio aborts destructive jobs on devices that appear mounted unless allow_mounted_write is set. Root access is not generally required unless the chosen files or devices need it. fio is free software under version 2 of the GNU GPL.

Who it is for

fio suits people who need to define and run storage I/O workloads without writing a separate test program for each one. Its client/server mode may be useful when jobs need to run on remote hosts.

What is good

  • Workloads can be defined in files or on the command line.
  • Offers normal, terse, JSON, and JSON+ output.
  • Can send jobs to remote hosts.
  • Includes a read-only option intended to prevent writes and trims.

What to know first

  • Windows builds require Cygwin.
  • Minimum Windows versions are Windows 7 and Server 2008 R2.
  • Some options may be restricted by permissions.

Everything Xiaomi review

fio: the full review

fio provides detailed control over workload settings and several output formats, with client/server operation for remote jobs. Users should review its safety controls and platform requirements before directing workloads at storage devices.

fio is a command-line storage workload tool for people who need to shape performance tests or reproduce I/O bugs rather than run a single preset benchmark. Its strongest case is flexibility: it exposes detailed workload controls and can send jobs to remote hosts, but that breadth makes it a poor fit for anyone seeking a simple, guided disk-speed check.

Overview

Instead of requiring a separate test program for each scenario, fio lets users define work in job files or pass settings on the command line. That is useful when a test needs to reflect particular storage behavior and then be repeated or adjusted. It supports random and sequential tests, IOPS and latency measurement, and can target files or devices.

fio is free software under version 2 of the GNU GPL, and its free plan costs 0.00 USD per free. Its project began in 2006; Jens Axboe authored it to support flexible testing of the Linux I/O subsystem and schedulers. Axboe and Vincent Fu are its maintainers.

Key features

Workload control

Users can tune I/O patterns, block and I/O sizes, engines, queue depth, target files or devices, and whether work runs in threads or processes. This makes fio a capable choice for users who need to isolate or reproduce a particular storage workload. The trade-off is that configuring a meaningful run calls for familiarity with those settings; it is not a one-click benchmark.

Output and remote jobs

Results can be emitted in normal, terse, JSON, or JSON+ formats. The range serves both direct reading and workflows that need structured output. In client/server mode, a backend server accepts jobs from clients on other hosts, which is useful when the workload must run remotely rather than where it is configured.

HTTP and S3 access

fio's HTTP engine provides access to HTTP and S3 storage. This extends the tool beyond local file and device targets for users whose workload involves those access paths.

Safety and permissions

The --readonly option enables checks intended to prevent writes and trims. fio also aborts destructive jobs on devices that appear mounted unless allow_mounted_write is set. These safeguards matter because jobs can target devices, but they should not be treated as a substitute for careful configuration. Root access is unnecessary unless the selected files or devices require it; some options may also be restricted.

Pricing

The fio plan is free at 0.00 USD per free and includes the software under GNU GPL version 2. There is no paid tier to weigh against it; the cost advantage comes with a command-line tool whose workload configuration is aimed at users who want control, not a simplified benchmark interface.

Platforms

fio supports Linux, Solaris, AIX, HP-UX, OSX, NetBSD, OpenBSD, Windows, FreeBSD, and DragonFly. The project documentation points to Linux distribution packages and tagged-release Windows installers on GitHub. Building fio on Windows requires Cygwin; the minimum documented versions for building or running it are Windows 7 and Windows Server 2008 R2. For users choosing a platform, the Windows build requirement is a practical constraint, while distribution packages provide another route on Linux.

Who it's for

fio suits storage engineers, developers, and technically confident users who need to specify I/O behavior, measure IOPS or latency, reproduce a workload, or execute jobs remotely. It is less suitable for casual users who want a quick disk score without configuring a test. The project mailing list handles discussion, questions, bug reports, and development; bug reports can also go to GitHub.

Pros and cons

  • Pros: Fine-grained workload settings let users tailor tests instead of relying on a fixed pattern.
  • Pros: Multiple output formats and client/server operation support structured reporting and remote execution.
  • Pros: It is free software with broad platform support, including Linux, macOS, and Windows.
  • Cons: Its command-line, configurable approach is a poor match for users who want guided, preset testing.
  • Cons: Device-targeted workloads require care despite the read-only and mounted-device checks; Windows builds also require Cygwin.

Alternatives

For a related set of tools, browse Disk Benchmark Software. If you want another free command-line option on Linux, Filebench is available for that platform. simple-disk-benchmark is also free, command-line software on Linux, macOS, and Windows; readers who want its MIT-licensed alternative can choose it instead. Linux users seeking an open-source disk benchmark tool can consider KDiskMark.

Parkdale is a free alternative for Android, macOS, and Windows, while D-Bench is a free Windows option. AJA System Test is another free choice for macOS and Windows. Buddi is free budgeting software rather than a storage-testing tool, and DaVinci Resolve is a freemium video-editing alternative rather than a storage workload tool.

Verdict

Choose fio if you need precise control over storage workloads, measurements, and remote jobs, and are comfortable configuring them from the command line. Its free, broad-platform toolkit is compelling for repeatable or specialized tests. Look elsewhere if your priority is a straightforward disk benchmark with little setup, or if configuring and safely directing workloads at files or devices is more complexity than you need.

fio plans and pricing

All plans
fio Free GNU GPL version 2 software fio.readthedocs.io · 30 Sept 2026

Compared on disk benchmark software

Free plan
Yesfio.readthedocs.io
Random I/O tests
Yesfio.readthedocs.io
Sequential tests
Yesfio.readthedocs.io
IOPS measurement
Yesfio.readthedocs.io
Latency measurement
Yesfio.readthedocs.io
Supported platforms
Linux, Solaris, AIX, HP-UX, OSX, NetBSD, OpenBSD, Windows, FreeBSD, DragonFlyfio.readthedocs.io
Command-line interface
Yesfio.readthedocs.io

Facts

Purpose
fio simulates user-defined I/O workloads for performance testing and reproducing bugs.fio.readthedocs.io · 29 Sept 2026
Workload setup
Users describe workloads in job files or provide parameters on the command line.fio.readthedocs.io · 29 Sept 2026
Workload controls
Workloads can configure I/O patterns, block size, I/O size, engines, queue depth, target files or devices, and threads or processes.fio.readthedocs.io · 29 Sept 2026
Reporting
Output can be reported in normal, terse, JSON, or JSON+ formats.fio.readthedocs.io · 29 Sept 2026
Remote operation
fio can run as a backend server and accept jobs from clients on other hosts.fio.readthedocs.io · 29 Sept 2026
Storage access
The documentation describes HTTP and S3 access through fio's HTTP engine.fio.readthedocs.io · 29 Sept 2026
Platforms
The documentation lists Linux, Solaris, AIX, HP-UX, OSX, NetBSD, OpenBSD, Windows, FreeBSD, and DragonFly as supported platforms, while noting that some features vary by platform.fio.readthedocs.io · 29 Sept 2026
Windows requirement
The minimum Windows versions for building or running fio are Windows 7 and Windows Server 2008 R2.fio.readthedocs.io · 29 Sept 2026
Download options
The documentation points to official release installers for Windows on GitHub and lists binary packages in several Linux distributions and other repositories.fio.readthedocs.io · 29 Sept 2026
Safety control
The --readonly option prevents writes and trims, and fio aborts destructive jobs on devices that appear mounted unless allow_mounted_write is set.fio.readthedocs.io · 29 Sept 2026
Permissions
fio does not need root unless the specified files or devices require it, though some options may also be restricted.fio.readthedocs.io · 29 Sept 2026
Support
The project mailing list is for discussion, bug reports, questions, and development; the documentation also directs bug reports to the mailing list or GitHub.fio.readthedocs.io · 29 Sept 2026
Author
The documentation names Jens Axboe as fio's author and says he wrote it to enable flexible testing of the Linux I/O subsystem and schedulers.fio.readthedocs.io · 29 Sept 2026
Maintainers
The documentation names Jens Axboe and Vincent Fu as maintainers.fio.readthedocs.io · 29 Sept 2026
Remote execution
fio supports a client/server mode that can send jobs to run on remote hosts.fio.readthedocs.io · 30 Sept 2026
Windows requirements
The documented minimum Windows versions are Windows 7 and Windows Server 2008 R2; Cygwin is required to build fio on Windows.fio.readthedocs.io · 30 Sept 2026
Distribution
The documentation says tagged-release Windows installers are available through GitHub Releases and mentions Linux distribution packages.fio.readthedocs.io · 30 Sept 2026
License
fio is free software published under version 2 of the GNU GPL.fio.readthedocs.io · 30 Sept 2026
Safety option
The --readonly option enables checks intended to prevent write and trim workloads.fio.readthedocs.io · 30 Sept 2026
Intended users
The author describes fio as a tool for simulating specific I/O workloads without repeatedly writing tailored test programs.fio.readthedocs.io · 30 Sept 2026

Company

Founded
2006fio.readthedocs.io · 23 Sept 2026

Best fio alternatives

See all 12

Where it ranks on Everything Xiaomi

Is fio yours?

Claim it for free: prove the domain, then correct facts, plans and screenshots. An editor reviews every change.

Sources