genfio: Splitting gen_template in 2 parts
[fio.git] / fio.1
diff --git a/fio.1 b/fio.1
index 2464dd5e77fbc54a525ac0727f367827eea28181..91fd5311afe6f1166a2be31109470661465ef576 100644 (file)
--- a/fio.1
+++ b/fio.1
@@ -54,6 +54,12 @@ Convert \fIjobfile\fR to a set of command-line options.
 Specifies when real-time ETA estimate should be printed.  \fIwhen\fR may
 be one of `always', `never' or `auto'.
 .TP
+.BI \-\-eta\-newline \fR=\fPtime
+Force an ETA newline for every `time` period passed.
+.TP
+.BI \-\-status\-interval \fR=\fPtime
+Report full output status every `time` period passed.
+.TP
 .BI \-\-readonly
 Turn on safety read-only checks, preventing any attempted write.
 .TP
@@ -151,6 +157,34 @@ a number of files by separating the names with a `:' character. `\-' is a
 reserved name, meaning stdin or stdout, depending on the read/write direction
 set.
 .TP
+.BI filename_format \fR=\fPstr
+If sharing multiple files between jobs, it is usually necessary to have
+fio generate the exact names that you want. By default, fio will name a file
+based on the default file format specification of
+\fBjobname.jobnumber.filenumber\fP. With this option, that can be
+customized. Fio will recognize and replace the following keywords in this
+string:
+.RS
+.RS
+.TP
+.B $jobname
+The name of the worker thread or process.
+.TP
+.B $jobnum
+The incremental number of the worker thread or process.
+.TP
+.B $filenum
+The incremental number of the file for that worker thread or process.
+.RE
+.P
+To have dependent jobs share a set of files, this option can be set to
+have fio generate filenames that are shared between the two. For instance,
+if \fBtestfiles.$filenum\fR is specified, file number 4 for any job will
+be named \fBtestfiles.4\fR. The default of \fB$jobname.$jobnum.$filenum\fR
+will be used if no other format specifier is given.
+.RE
+.P
+.TP
 .BI lockfile \fR=\fPstr
 Fio defaults to not locking any files before it does IO to them. If a file or
 file descriptor is shared, fio can serialize IO to that file to make the end
@@ -169,6 +203,7 @@ Only one thread or process may do IO at the time, excluding all others.
 Read-write locking on the file. Many readers may access the file at the same
 time, but writes get exclusive access.
 .RE
+.RE
 .P
 .BI opendir \fR=\fPstr
 Recursively open any files below directory \fIstr\fR.
@@ -413,6 +448,9 @@ Basic \fIpread\fR\|(2) or \fIpwrite\fR\|(2) I/O.
 Basic \fIreadv\fR\|(2) or \fIwritev\fR\|(2) I/O. Will emulate queuing by
 coalescing adjacents IOs into a single submission.
 .TP
+.B pvsync
+Basic \fIpreadv\fR\|(2) or \fIpwritev\fR\|(2) I/O.
+.TP
 .B libaio
 Linux native asynchronous I/O. This ioengine defines engine specific options.
 .TP
@@ -606,6 +644,15 @@ If you wanted to use zipf with a theta of 1.2, you would use
 random_distribution=zipf:1.2 as the option. If a non-uniform model is used,
 fio will disable use of the random map.
 .TP
+.BI percentage_random \fR=\fPint
+For a random workload, set how big a percentage should be random. This defaults
+to 100%, in which case the workload is fully random. It can be set from
+anywhere from 0 to 100.  Setting it to 0 would make the workload fully
+sequential.
+.TP
+.BI percentage_sequential \fR=\fPint
+See \fBpercentage_random\fR.
+.TP
 .B norandommap
 Normally \fBfio\fR will cover every block of the file when doing random I/O. If
 this parameter is given, a new offset will be chosen without looking at past
@@ -655,7 +702,12 @@ Pretend to spend CPU time for given number of microseconds, sleeping the rest
 of the time specified by \fBthinktime\fR.  Only valid if \fBthinktime\fR is set.
 .TP
 .BI thinktime_blocks \fR=\fPint
-Number of blocks to issue before waiting \fBthinktime\fR microseconds.
+Only valid if thinktime is set - control how many blocks to issue, before
+waiting \fBthinktime\fR microseconds. If not set, defaults to 1 which will
+make fio wait \fBthinktime\fR microseconds after every block. This
+effectively makes any queue depth setting redundant, since no more than 1 IO
+will be queued before we have to complete it and do our thinktime. In other
+words, this setting effectively caps the queue depth if the latter is larger.
 Default: 1.
 .TP
 .BI rate \fR=\fPint
@@ -1005,13 +1057,19 @@ Disable measurements of throughput/bandwidth numbers. See \fBdisable_lat\fR.
 .TP
 .BI lockmem \fR=\fPint
 Pin the specified amount of memory with \fBmlock\fR\|(2).  Can be used to
-simulate a smaller amount of memory.
+simulate a smaller amount of memory. The amount specified is per worker.
 .TP
 .BI exec_prerun \fR=\fPstr
 Before running the job, execute the specified command with \fBsystem\fR\|(3).
+.RS
+Output is redirected in a file called \fBjobname.prerun.txt\fR
+.RE
 .TP
 .BI exec_postrun \fR=\fPstr
 Same as \fBexec_prerun\fR, but the command is executed after the job completes.
+.RS
+Output is redirected in a file called \fBjobname.postrun.txt\fR
+.RE
 .TP
 .BI ioscheduler \fR=\fPstr
 Attempt to switch the device hosting the file to the specified I/O scheduler.