1k:4k. If the option allows two sets of ranges, they can be
specified with a ',' or '/' delimiter: 1k-4k/8k-32k. Also see
int.
+float_list A list of floating numbers, separated by a ':' character.
With the above in mind, here follows the complete list of fio job
parameters.
files between threads in a job or several jobs, specify
a filename for each of them to override the default. If
the ioengine used is 'net', the filename is the host, port,
- and protocol to use in the format of =host/port/protocol.
+ and protocol to use in the format of =host,port,protocol.
See ioengine=net for more. If the ioengine is file based, you
can specify a number of files by separating the names with a
':' colon. So if you wanted a job to open /dev/sda and /dev/sdb
a number of IO's to do before getting a new offset, this is
one by appending a ':<nr>' to the end of the string given.
For a random read, it would look like 'rw=randread:8' for
- passing in an offset modifier with a value of 8. See the
- 'rw_sequencer' option.
+ passing in an offset modifier with a value of 8. If the
+ postfix is used with a sequential IO pattern, then the value
+ specified will be added to the generated offset for each IO.
+ For instance, using rw=write:4k will skip 4k for every
+ write. It turns sequential IO into sequential IO with holes.
+ See the 'rw_sequencer' option.
rw_sequencer=str If an offset modifier is given by appending a number to
the rw=<str> line, then this option controls how that
isn't specified, naturally. If data verification is enabled,
refill_buffers is also automatically enabled.
+scramble_buffers=bool If refill_buffers is too costly and the target is
+ using data deduplication, then setting this option will
+ slightly modify the IO buffer contents to defeat normal
+ de-dupe attempts. This is not enough to defeat more clever
+ block compression attempts, but it will stop naive dedupe of
+ blocks. Default: true.
+
nrfiles=int Number of files to use for this job. Defaults to 1.
openfiles=int Number of files to keep open at the same time. Defaults to
libaio Linux native asynchronous io. Note that Linux
may only support queued behaviour with
non-buffered IO (set direct=1 or buffered=0).
+ This engine also has a sub-option,
+ userspace_reap. To set it, use
+ ioengine=libaio:userspace_reap. Normally, with
+ the libaio engine in use, fio will use the
+ io_getevents system call to reap newly returned
+ events. With this flag turned on, the AIO ring
+ will be read directly from user-space to reap
+ events. The reaping mode is only enabled when
+ polling for a minimum of 0 events (eg when
+ iodepth_batch_complete=0).
posixaio glibc posix asynchronous io.
for more info on GUASI.
rdma The RDMA I/O engine supports both RDMA
- memory semantic(RDMA_WRITE/RDMA_READ) and
- channel semantic(Send/Recv) in InfiniBand, RoCE
- and iWarp environment.
+ memory semantics (RDMA_WRITE/RDMA_READ) and
+ channel semantics (Send/Recv) for the
+ InfiniBand, RoCE and iWARP protocols.
external Prefix to specify loading an external
IO engine object file. Append the engine
bwavgtime=int Average the calculated bandwidth over the given time. Value
is specified in milliseconds.
+iopsavgtime=int Average the calculated IOPS over the given time. Value
+ is specified in milliseconds.
+
create_serialize=bool If true, serialize the file creating for the jobs.
This may be handy to avoid interleaving of data
files, which may greatly depend on the filesystem
and foo_lat.log. This helps fio_generate_plot fine the logs
automatically.
+write_bw_log=str If given, write an IOPS log of the jobs in this job
+ file. See write_bw_log.
+
lockmem=int Pin down the specified amount of memory with mlock(2). Can
potentially be used instead of removing memory or booting
with less memory to simulate a smaller amount of memory.
disable_bw=bool Disable measurements of throughput/bandwidth numbers. See
disable_lat.
+clat_percentiles=bool Enable the reporting of percentiles of
+ completion latencies.
+
+percentile_list=float_list Overwrite the default list of percentiles
+ for completion latencies. Each number is a floating
+ number in the range (0,100], and the maximum length of
+ the list is 20. Use ':' to separate the numbers, and
+ list the numbers in ascending order. For example,
+ --percentile_list=99.5:99.9 will cause fio to report
+ the values of completion latency below which 99.5% and
+ 99.9% of the observed latencies fell, respectively.
+
gtod_reduce=bool Enable all of the gettimeofday() reducing options
(disable_clat, disable_slat, disable_bw) plus reduce
precision of the timeout somewhat to really shrink
version, jobname, groupid, error
READ status:
- KB IO, bandwidth (KB/sec), runtime (msec)
+ Total IO (KB), bandwidth (KB/sec), runtime (msec)
Submission latency: min, max, mean, deviation
Completion latency: min, max, mean, deviation
Total latency: min, max, mean, deviation
Bw: min, max, aggregate percentage of total, mean, deviation
WRITE status:
- KB IO, bandwidth (KB/sec), runtime (msec)
+ Total IO (KB), bandwidth (KB/sec), runtime (msec)
Submission latency: min, max, mean, deviation
Completion latency: min, max, mean, deviation
Total latency: min, max, mean, deviation