$ fio
--debug Enable some debugging options (see below)
--output Write output to file
- --runtime Runtime in seconds
+ --timeout Runtime in seconds
--latency-log Generate per-job latency logs
--bandwidth-log Generate per-job bandwidth logs
--minimal Minimal (terse) output
--help Print this page
--cmdhelp=cmd Print command help, "all" for all of them
--showcmd Turn a job file into command line options
- --readonly Turn on safety read-only checks
+ --readonly Turn on safety read-only checks, preventing writes
--eta=when When ETA estimate should be printed
May be "always", "never" or "auto"
+ --section=name Only run specified section in job file
Any parameters following the options will be assumed to be job files,
file Dump info related to file actions
io Dump info related to IO queuing
mem Dump info related to memory allocations
+ blktrace Dump info related to blktrace setup
+ verify Dump info related to IO verification
+ all Enable all debug options
+ random Dump info related to random offset generation
+ parse Dump info related to option matching and parsing
+ diskutil Dump info related to disk utilization updates
+ ? or help Show available debug options.
You can specify as many as you want, eg --debug=file,mem will enable
-file and memory debugging. Specifying --debug=help or --debug=? will
-dump the current modifier list.
+file and memory debugging.
+
+The section switch is meant to make it easier to ship a bigger job file
+instead of several smaller ones. Say you define a job file with light,
+moderate, and heavy parts. Then you can ask fio to run the given part
+only by giving it a --section=heavy command line option. The section
+option only applies to job sections, the reserved 'global' section is
+always parsed and taken into account.
Job file
size=x Set file size to x bytes (x string can include k/m/g)
ioengine=x 'x' may be: aio/libaio/linuxaio for Linux aio,
posixaio for POSIX aio, sync for regular read/write io,
- psync for regular pread/pwrite io, mmap for mmap'ed io,
- syslet-rw for syslet driven read/write, splice for using
- splice/vmsplice, sgio for direct SG_IO io, net for
- network io, or cpuio for a cycler burner load. sgio only
- works on Linux on SCSI (or SCSI-like devices, such as
- usb-storage or sata/libata driven) devices. Fio also has
- a null io engine, which is mainly used for testing fio
- itself.
+ psync for regular pread/pwrite io, vsync for regular
+ readv/writev (with queuing emulation) mmap for mmap'ed
+ io, syslet-rw for syslet driven read/write, splice for
+ using splice/vmsplice, sgio for direct SG_IO io, net
+ for network io, or cpuio for a cycler burner load. sgio
+ only works on Linux on SCSI (or SCSI-like devices, such
+ as usb-storage or sata/libata driven) devices. Fio also
+ has a null io engine, which is mainly used for testing
+ fio itself.
+
iodepth=x For async io, allow 'x' ios in flight
overwrite=x If 'x', layout a write file first.
nrfiles=x Spread io load over 'x' number of files per job,