direct=bool If value is true, use non-buffered io. This is usually
O_DIRECT. Note that ZFS on Solaris doesn't support direct io.
+ On Windows the synchronous ioengines don't support direct io.
buffered=bool If value is true, use buffered io. This is the opposite
of the 'direct' option. Defaults to true.
fdatasync=int Like fsync= but uses fdatasync() to only sync data and not
metadata blocks.
- In FreeBSD there is no fdatasync(), this falls back to
+ In FreeBSD and Windows there is no fdatasync(), this falls back to
using fsync()
sync_file_range=str:val Use sync_file_range() for every 'val' number of
write_bw_log=str If given, write an IOPS log of the jobs in this job
file. See write_bw_log.
+write_iops_log=str Same as write_bw_log, but writes IOPS. If no filename is
+ given with this option, the default filename of
+ "jobname_type.log" is used. Even if the filename is given,
+ fio will still append the type of log.
+
+log_avg_msec=int By default, fio will log an entry in the iops, latency,
+ or bw log for every IO that completes. When writing to the
+ disk log, that can quickly grow to a very large size. Setting
+ this option makes fio average the each log entry over the
+ specified period of time, reducing the resolution of the log.
+ Defaults to 0.
+
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.
uses. Fio will manually clear it from the CPU mask of other
jobs.
-continue_on_error=bool Normally fio will exit the job on the first observed
+continue_on_error=str Normally fio will exit the job on the first observed
failure. If this option is set, fio will continue the job when
there is a 'non-fatal error' (EIO or EILSEQ) until the runtime
is exceeded or the I/O size specified is completed. If this
given in the stats is the first error that was hit during the
run.
+ The allowed values are:
+
+ none Exit on any IO or verify errors.
+
+ read Continue on read errors, exit on all others.
+
+ write Continue on write errors, exit on all others.
+
+ io Continue on any IO error, exit on all others.
+
+ verify Continue on verify errors, exit on all others.
+
+ all Continue on all errors.
+
+ 0 Backward-compatible alias for 'none'.
+
+ 1 Backward-compatible alias for 'all'.
+
cgroup=str Add job to this control group. If it doesn't exist, it will
be created. The system must have a mounted cgroup blkio
mount point for this to work. If your system doesn't have it
gid=int Set group ID, see uid.
+flow_id=int The ID of the flow. If not specified, it defaults to being a
+ global flow. See flow.
+
+flow=int Weight in token-based flow control. If this value is used, then
+ there is a 'flow counter' which is used to regulate the
+ proportion of activity between two or more jobs. fio attempts
+ to keep this flow counter near zero. The 'flow' parameter
+ stands for how much should be added or subtracted to the flow
+ counter on each iteration of the main I/O loop. That is, if
+ one job has flow=8 and another job has flow=-1, then there
+ will be a roughly 1:8 ratio in how much one runs vs the other.
+
+flow_watermark=int The maximum value that the absolute value of the flow
+ counter is allowed to reach before the job must wait for a
+ lower value of the counter.
+
+flow_sleep=int The period of time, in microseconds, to wait after the flow
+ watermark has been exceeded before retrying operations
+
In addition, there are some parameters which are only valid when a specific
ioengine is in use. These are used identically to normal parameters, with the
caveat that when used on the command line, they must come after the ioengine