meaning kilo, mega, and giga. So if you want to specify 4096,
you could either write out '4096' or just give 4k. The postfixes
signify base 2 values, so 1024 is 1k and 1024k is 1m and so on.
+ If the option accepts an upper and lower range, use a colon ':'
+ or minus '-' to seperate such values. See irange.
bool Boolean. Usually parsed as an integer, however only defined for
true and false (1 and 0).
irange Integer range with postfix. Allows value range to be given, such
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 and
- port to connect to in the format of =host:port.
+ port to connect to in the format of =host/port. If the
+ ioengine is file based, you can specify a number of files
+ by seperating the names with a ':' colon. So if you wanted
+ a job to open /dev/sda and /dev/sdb as the two working files,
+ you would use filename=/dev/sda:/dev/sdb
+
+opendir=str Tell fio to recursively add any file it can find in this
+ directory and down the file system tree.
rw=str Type of io pattern. Accepted values are:
size if larger than the current file size. If this parameter
is not given and the file exists, the file size will be used.
+filesize=siint Individual file sizes. May be a range, in which case fio
+ will select sizes for files at random within the given range
+ and limited to 'size' in total (if that is given). If not
+ given, each created file is the same size.
+
bs=siint The block size used for the io units. Defaults to 4k. Values
can be given for both read and writes. If a single siint is
given, it will apply to both. If a second siint is specified
roundrobin Round robin over open files. This
is the default.
+ The string can have a number appended, indicating how
+ often to switch to a new file. So if option random:4 is
+ given, fio will switch to a new random file after 4 ios
+ have been issued.
+
ioengine=str Defines how the job issues io to the file. The following
types are defined:
net Transfer over the network to given host:port.
'filename' must be set appropriately to
- filename=host:port regardless of send
+ filename=host/port regardless of send
or receive, if the latter only the port
argument is used.
+ cpu Doesn't transfer any data, but burns CPU
+ cycles according to the cpuload= and
+ cpucycle= options. Setting cpuload=85
+ will cause that job to do nothing but burn
+ 85% of the CPU.
+
external Prefix to specify loading an external
IO engine object file. Append the engine
filename, eg ioengine=external:/tmp/foo.o
end_fsync=bool If true, fsync file contents when the job exits.
+fsync_on_close=bool If true, fio will fsync() a dirty file on close.
+ This differs from end_fsync in that it will happen on every
+ file close, not just at the end of the job.
+
rwmixcycle=int Value in milliseconds describing how often to switch between
reads and writes for a mixed workload. The default is
500 msecs.
rate=int Cap the bandwidth used by this job to this number of KiB/sec.
ratemin=int Tell fio to do whatever it can to maintain at least this
- bandwidth.
+ bandwidth. Failing to meet this requirement, will cause
+ the job to exit.
+
+rate_iops=int Cap the bandwidth to this number of IOPS. Basically the same
+ as rate, just specified independently of bandwidth. If the
+ job is given a block size range instead of a fixed value,
+ the smallest block size is used as the metric.
+
+rate_iops_min=int If fio doesn't meet this rate of IO, it will cause
+ the job to exit.
ratecycle=int Average bandwidth for 'rate' and 'ratemin' over this number
of milliseconds.