This section describes in details each parameter associated with a job.
Some parameters take an option of a given type, such as an integer or
-a string. The following types are used:
+a string. Anywhere a numeric value is required, an arithmetic expression
+may be used, provided it is surrounded by parentheses. Supported operators
+are:
+
+ addition (+)
+ subtraction (-)
+ multiplication (*)
+ division (/)
+ modulus (%)
+ exponentiation (^)
+
+For time values in expressions, units are microseconds by default. This is
+different than for time values not in expressions (not enclosed in
+parentheses). The following types are used:
str String. This is a sequence of alpha characters.
time Integer with possible time suffix. In seconds unless otherwise
For certain types of io the result may still be skewed a bit,
since the speed may be different. It is possible to specify
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.
+ done 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. If the
suffix is used with a sequential IO pattern, then the value
If not set, the random sequence depends on the randrepeat
setting.
-use_os_rand=bool Fio can either use the random generator supplied by the OS
- to generator random offsets, or it can use it's own internal
- generator (based on Tausworthe). Default is to use the
- internal generator, which is often of better quality and
- faster.
-
fallocate=str Whether pre-allocation is performed when laying down files.
Accepted values are:
while having 90% 4k writes and 10% 8k writes, you would
specify:
- bssplit=2k/50:4k/50,4k/90,8k/10
+ bssplit=2k/50:4k/50,4k/90:8k/10
blocksize_unaligned
bs_unaligned If this option is given, any byte size value within bsrange
time (or hits an error condition). With this setting, the
range/size can be set independently of the number of IOs to
perform. When fio reaches this number, it will exit normally
- and report status.
+ and report status. Note that this does not extend the amount
+ of IO that will be done, it will only stop fio if this
+ condition is met before other end-of-job criteria.
fsync=int If writing to a file, issue a sync of the dirty data
for every number of blocks given. For example, if you give
address.
[netsplice] port=int
-[net] port=int The TCP or UDP port to bind to or connect to.
+[net] port=int The TCP or UDP port to bind to or connect to. If this is used
+with numjobs to spawn multiple instances of the same job type, then this will
+be the starting port number since fio will use a range of ports.
[netsplice] interface=str
[net] interface=str The IP address of the network interface used to send or
[net] listen For TCP network connections, tell fio to listen for incoming
connections rather than initiating an outgoing connection. The
hostname must be omitted if this option is used.
+
[net] pingpong Normaly a network writer will just continue writing data, and
a network reader will just consume packages. If pingpong=1
is set, a writer will send its normal payload to the reader,
single reader when multiple readers are listening to the same
address.
+[net] window_size Set the desired socket buffer size for the connection.
+
+[net] mss Set the TCP maximum segment size (TCP_MAXSEG).
+
[e4defrag] donorname=str
File will be used as a block donor(swap extents between files)
[e4defrag] inplace=int