X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.1;h=e54e419b2f5852733c7312a44defcf0345be7591;hp=33b26ccadac74a457b94c77437bf7c08d869f7ba;hb=0c63576e14bc606f81441f20e58a5b6338a5e2d6;hpb=a4d3b4dbf594be6223a21a47a7ce4c21c7dddaf0 diff --git a/fio.1 b/fio.1 index 33b26cca..e54e419b 100644 --- a/fio.1 +++ b/fio.1 @@ -20,6 +20,9 @@ list all available tracing options. .BI \-\-output \fR=\fPfilename Write output to \fIfilename\fR. .TP +.BI \-\-output-format \fR=\fPformat +Set the reporting format to \fInormal\fR, \fIterse\fR, or \fIjson\fR. +.TP .BI \-\-runtime \fR=\fPruntime Limit run time to \fIruntime\fR seconds. .TP @@ -283,6 +286,10 @@ Mixed sequential reads and writes. .TP .B randrw Mixed random reads and writes. +.TP +.B trimwrite +Trim and write mixed workload. Blocks will be trimmed first, then the same +blocks will be written to. .RE .P For mixed I/O, the default split is 50/50. For certain types of io the result @@ -375,6 +382,11 @@ because ZFS doesn't support it. Default: 'posix'. Use \fBposix_fadvise\fR\|(2) to advise the kernel what I/O patterns are likely to be issued. Default: true. .TP +.BI fadvise_stream \fR=\fPint +Use \fBposix_fadvise\fR\|(2) to advise the kernel what stream ID the +writes issued belong to. Only supported on Linux. Note, this option +may change going forward. +.TP .BI size \fR=\fPint Total size of I/O for this job. \fBfio\fR will run until this many bytes have been transferred, unless limited by other options (\fBruntime\fR, for instance, @@ -459,8 +471,6 @@ blocksize setting. .TP .B zero_buffers Initialize buffers with all zeros. Default: fill buffers with random data. -The resulting IO buffers will not be completely zeroed, unless -\fPscramble_buffers\fR is also turned off. .TP .B refill_buffers If this option is given, fio will refill the IO buffers on every submit. The @@ -649,6 +659,13 @@ file out of those files based on the offset generated by fio backend. (see the example job file to create such files, use rw=write option). Please note, you might want to set necessary environment variables to work with hdfs/libhdfs properly. +.TP +.B mtd +Read, write and erase an MTD character device (e.g., /dev/mtd0). Discards are +treated as erases. Depending on the underlying device type, the I/O may have +to go in a certain pattern, e.g., on NAND, writing sequentially to erase blocks +and discarding before overwriting. The writetrim mode works well for this +constraint. .RE .P .RE @@ -677,6 +694,17 @@ cost of more retrieval system calls. Low watermark indicating when to start filling the queue again. Default: \fBiodepth\fR. .TP +.BI io_submit_mode \fR=\fPstr +This option controls how fio submits the IO to the IO engine. The default is +\fBinline\fR, which means that the fio job threads submit and reap IO directly. +If set to \fBoffload\fR, the job threads will offload IO submission to a +dedicated pool of IO threads. This requires some coordination and thus has a +bit of extra overhead, especially for lower queue depth IO where it can +increase latencies. The benefit is that fio can manage submission rates +independently of the device completion rates. This avoids skewed latency +reporting if IO gets back up on the device side (the coordinated omission +problem). +.TP .BI direct \fR=\fPbool If true, use non-buffered I/O (usually O_DIRECT). Default: false. .TP @@ -1237,6 +1265,12 @@ is to replay the IOPS onto the major/minor device that each IOP was recorded from. Setting \fBreplay_redirect\fR causes all IOPS to be replayed onto the single specified device regardless of the device it was recorded from. .TP +.BI replay_align \fR=\fPint +Force alignment of IO offsets and lengths in a trace to this power of 2 value. +.TP +.BI replay_scale \fR=\fPint +Scale sector offsets down by this factor when replaying traces. +.TP .BI write_bw_log \fR=\fPstr If given, write a bandwidth log of the jobs in this job file. Can be used to store data of the bandwidth of the jobs in their lifetime. The included @@ -1286,6 +1320,11 @@ a compressed format. They can be decompressed with fio, using the \fB\-\-inflate-log\fR command line parameter. The files will be stored with a \fB\.fz\fR suffix. .TP +.BI block_error_percentiles \fR=\fPbool +If set, record errors in trim block-sized units from writes and trims and output +a histogram of how many trims it took to get to errors, and what kind of error +was encountered. +.TP .BI disable_lat \fR=\fPbool Disable measurements of total latency numbers. Useful only for cutting back the number of calls to \fBgettimeofday\fR\|(2), as that does impact performance at @@ -1444,9 +1483,9 @@ exceeded before retrying operations Enable the reporting of percentiles of completion latencies. .TP .BI percentile_list \fR=\fPfloat_list -Overwrite the default list of percentiles for completion -latencies. Each number is a floating number in the range (0,100], and -the maximum length of the list is 20. Use ':' to separate the +Overwrite the default list of percentiles for completion latencies and the +block error histogram. Each number is a floating number in the range (0,100], +and the maximum length of the list is 20. Use ':' to separate the numbers. For example, \-\-percentile_list=99.5:99.9 will cause fio to report the values of completion latency below which 99.5% and 99.9% of the observed latencies fell, respectively. @@ -1561,6 +1600,9 @@ Specifies the name of the Ceph pool containing the RBD. .TP .BI (rbd)clientname \fR=\fPstr Specifies the username (without the 'client.' prefix) used to access the Ceph cluster. +.TP +.BI (mtd)skipbad \fR=\fPbool +Skip operations against known bad blocks. .SH OUTPUT While running, \fBfio\fR will display the status of the created jobs. For example: