Write output to \fIfilename\fR.
.TP
.BI \-\-output-format \fR=\fPformat
-Set the reporting format to \fInormal\fR, \fIterse\fR, or \fIjson\fR.
+Set the reporting format to \fInormal\fR, \fIterse\fR, \fIjson\fR, or
+\fIjson+\fR. Multiple formats can be selected, separate by a comma. \fIterse\fR
+is a CSV based format. \fIjson+\fR is like \fIjson\fR, except it adds a full
+dump of the latency buckets.
.TP
.BI \-\-runtime \fR=\fPruntime
Limit run time to \fIruntime\fR seconds.
.TP
.B \-\-append-terse
Print statistics in selected mode AND terse, semicolon-delimited format.
+Deprecated, use \-\-output-format instead to select multiple formats.
.TP
.B \-\-version
Display version information and exit.
.B rw, readwrite
Mixed sequential reads and writes.
.TP
-.B randrw
+.B randrw
Mixed random reads and writes.
.TP
.B trimwrite
request to DDIR_WRITE event
.TP
.B rbd
-IO engine supporting direct access to Ceph Rados Block Devices (RBD) via librbd
-without the need to use the kernel rbd driver. This ioengine defines engine specific
+IO engine supporting direct access to Ceph Rados Block Devices (RBD) via librbd
+without the need to use the kernel rbd driver. This ioengine defines engine specific
options.
.TP
.B gfapi
.TP
.BI iodepth_low \fR=\fPint
Low watermark indicating when to start filling the queue again. Default:
-\fBiodepth\fR.
+\fBiodepth\fR.
.TP
.BI io_submit_mode \fR=\fPstr
This option controls how fio submits the IO to the IO engine. The default is
can be done with \fBrate\fR=,500k or \fBrate\fR=500k,. The former will only
limit writes (to 500KB/sec), the latter will only limit reads.
.TP
-.BI ratemin \fR=\fPint
+.BI rate_min \fR=\fPint
Tell \fBfio\fR to do whatever it can to maintain at least the given bandwidth.
Failing to meet this requirement will cause the job to exit. The same format
as \fBrate\fR is used for read vs write separation.
If this rate of I/O is not met, the job will exit. The same format as \fBrate\fR
is used for read vs write separation.
.TP
-.BI ratecycle \fR=\fPint
-Average bandwidth for \fBrate\fR and \fBratemin\fR over this number of
+.BI rate_process \fR=\fPstr
+This option controls how fio manages rated IO submissions. The default is
+\fBlinear\fR, which submits IO in a linear fashion with fixed delays between
+IOs that gets adjusted based on IO completion rates. If this is set to
+\fBpoisson\fR, fio will submit IO based on a more real world random request
+flow, known as the Poisson process
+(https://en.wikipedia.org/wiki/Poisson_process). The lambda will be
+10^6 / IOPS for the given workload.
+.TP
+.BI rate_cycle \fR=\fPint
+Average bandwidth for \fBrate\fR and \fBrate_min\fR over this number of
milliseconds. Default: 1000ms.
.TP
.BI latency_target \fR=\fPint
.TP
.B mmaphuge
Same as \fBmmap\fR, but use huge files as backing.
+.TP
+.B mmapshared
+Same as \fBmmap\fR, but use a MMAP_SHARED mapping.
.RE
.P
The amount of memory allocated is the maximum allowed \fBblocksize\fR for the
.BI verify_backlog_batch \fR=\fPint
Control how many blocks fio will verify if verify_backlog is set. If not set,
will default to the value of \fBverify_backlog\fR (meaning the entire queue is
-read back and verified). If \fBverify_backlog_batch\fR is less than
-\fBverify_backlog\fR then not all blocks will be verified, if
+read back and verified). If \fBverify_backlog_batch\fR is less than
+\fBverify_backlog\fR then not all blocks will be verified, if
\fBverify_backlog_batch\fR is larger than \fBverify_backlog\fR, some blocks
will be verified more than once.
.TP
of the same reporting group, unless separated by a stonewall.
.TP
.BI numjobs \fR=\fPint
-Number of clones (processes/threads performing the same workload) of this job.
+Number of clones (processes/threads performing the same workload) of this job.
Default: 1.
.TP
.B group_reporting
Error may be symbol ('ENOSPC', 'ENOMEM') or an integer.
.br
Example: ignore_error=EAGAIN,ENOSPC:122 .
-.br
-This option will ignore EAGAIN from READ, and ENOSPC and 122(EDQUOT) from WRITE.
+.br
+This option will ignore EAGAIN from READ, and ENOSPC and 122(EDQUOT) from WRITE.
.TP
.BI error_dump \fR=\fPbool
If set dump every error even if it is non fatal, true by default. If disabled
File will be used as a block donor (swap extents between files)
.TP
.BI (e4defrag,inplace) \fR=\fPint
-Configure donor file block allocation strategy
+Configure donor file block allocation strategy
.RS
.BI 0(default) :
Preallocate donor's file on init
.P
Error Info (dependent on continue_on_error, default off):
.RS
-.B total # errors, first error code
+.B total # errors, first error code
.RE
.P
.B text description (if provided in config - appears on newline)
Then fio will open this local (to the server) job file instead
of being passed one from the client.
-If you have many servers (example: 100 VMs/containers), you can input a pathname
+If you have many servers (example: 100 VMs/containers), you can input a pathname
of a file containing host IPs/names as the parameter value for the \-\-client option.
For example, here is an example "host.list" file containing 2 hostnames:
servers receive the same job file.
In order to enable fio \-\-client runs utilizing a shared filesystem from multiple hosts,
-fio \-\-client now prepends the IP address of the server to the filename. For example,
-if fio is using directory /mnt/nfs/fio and is writing filename fileio.tmp,
+fio \-\-client now prepends the IP address of the server to the filename. For example,
+if fio is using directory /mnt/nfs/fio and is writing filename fileio.tmp,
with a \-\-client hostfile
containing two hostnames h1 and h2 with IP addresses 192.168.10.120 and 192.168.10.121, then
fio will create two files:
For further documentation see \fBHOWTO\fR and \fBREADME\fR.
.br
Sample jobfiles are available in the \fBexamples\fR directory.
-