X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.1;h=40940f3e74dd1da2e5de6c3b1129032e65a334d1;hp=eaa1c408843443bc0cfa9d45502d453c054c701c;hb=833491908a1a;hpb=ee72ca09d4657f6a805c113d9bc43428f4b28a89 diff --git a/fio.1 b/fio.1 index eaa1c408..40940f3e 100644 --- a/fio.1 +++ b/fio.1 @@ -45,7 +45,7 @@ Print help information for \fIcommand\fR. May be `all' for all commands. .TP .BI \-\-debug \fR=\fPtype Enable verbose tracing of various fio actions. May be `all' for all types -or individual types seperated by a comma (eg \-\-debug=io,file). `help' will +or individual types separated by a comma (eg \-\-debug=io,file). `help' will list all available tracing options. .TP .B \-\-help @@ -81,8 +81,8 @@ SI integer: a whole number, possibly containing a suffix denoting the base unit of the value. Accepted suffixes are `k', 'M', 'G', 'T', and 'P', denoting kilo (1024), mega (1024^2), giga (1024^3), tera (1024^4), and peta (1024^5) respectively. The suffix is not case sensitive. If prefixed with '0x', the -value is assumed to be base 16 (hexadecimal). A suffix may include a trailing -'b', for instance 'kb' is identical to 'k'. You can specify a base 10 value +value is assumed to be base 16 (hexadecimal). A suffix may include a trailing 'b', +for instance 'kb' is identical to 'k'. You can specify a base 10 value by using 'KiB', 'MiB', 'GiB', etc. This is useful for disk drives where values are often given in base 10 values. Specifying '30GiB' will get you 30*1000^3 bytes. @@ -96,6 +96,10 @@ Integer range: a range of integers specified in the format \fIupper\fR may contain a suffix as described above. If an option allows two sets of ranges, they are separated with a `,' or `/' character. For example: `8\-8k/8M\-4G'. +.TP +.I float_list +List of floating numbers: A list of floating numbers, separated by +a ':' charcater. .SS "Parameter List" .TP .BI name \fR=\fPstr @@ -214,10 +218,38 @@ reasons. Allow values are 1024 or 1000, with 1024 being the default. Seed the random number generator in a predictable way so results are repeatable across runs. Default: true. .TP -.BI fallocate \fR=\fPbool -By default, fio will use fallocate() to advise the system of the size of the -file we are going to write. This can be turned off with fallocate=0. May not -be available on all supported platforms. +.BI use_os_rand \fR=\fPbool +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. Default: false. +.TP +.BI fallocate \fR=\fPstr +Whether pre-allocation is performed when laying down files. Accepted values +are: +.RS +.RS +.TP +.B none +Do not pre-allocate space. +.TP +.B posix +Pre-allocate via posix_fallocate(). +.TP +.B keep +Pre-allocate via fallocate() with FALLOC_FL_KEEP_SIZE set. +.TP +.B 0 +Backward-compatible alias for 'none'. +.TP +.B 1 +Backward-compatible alias for 'posix'. +.RE +.P +May not be available on all supported platforms. 'keep' is only +available on Linux. If using ZFS on Solaris this must be set to 'none' +because ZFS doesn't support it. Default: 'posix'. +.RE .TP .BI fadvise_hint \fR=\fPbool Disable use of \fIposix_fadvise\fR\|(2) to advise the kernel what I/O patterns @@ -229,13 +261,17 @@ been transfered, unless limited by other options (\fBruntime\fR, for instance). Unless \fBnrfiles\fR and \fBfilesize\fR options are given, this amount will be divided between the available files for the job. If not set, fio will use the full size of the given files or devices. If the the files do not exist, size -must be given. +must be given. It is also possible to give size as a percentage between 1 and +100. If size=20% is given, fio will use 20% of the full size of the given files +or devices. .TP -.BI fill_device \fR=\fPbool +.BI fill_device \fR=\fPbool "\fR,\fB fill_fs" \fR=\fPbool Sets size to something really large and waits for ENOSPC (no space left on device) as the terminating condition. Only makes sense with sequential write. For a read workload, the mount point will be filled first then IO started on -the result. +the result. This option doesn't make sense if operating on a raw device node, +since the size of that is already known by the file system. Additionally, +writing beyond end-of-device will not return ENOSPC there. .TP .BI filesize \fR=\fPirange Individual file sizes. May be a range, in which case \fBfio\fR will select sizes @@ -260,7 +296,7 @@ This option allows even finer grained control of the block sizes issued, not just even splits between them. With this option, you can weight various block sizes for exact control of the issued IO for a job that has mixed block sizes. The format of the option is bssplit=blocksize/percentage, -optionally adding as many definitions as needed seperated by a colon. +optionally adding as many definitions as needed separated by a colon. Example: bssplit=4k/10:64k/50:32k/40 would issue 50% 64k blocks, 10% 4k blocks and 40% 32k blocks. \fBbssplit\fR also supports giving separate splits to reads and writes. The format is identical to what the @@ -331,7 +367,13 @@ coalescing adjacents IOs into a single submission. Linux native asynchronous I/O. .TP .B posixaio -glibc POSIX asynchronous I/O using \fIaio_read\fR\|(3) and \fIaio_write\fR\|(3). +POSIX asynchronous I/O using \fIaio_read\fR\|(3) and \fIaio_write\fR\|(3). +.TP +.B solarisaio +Solaris native asynchronous I/O. +.TP +.B windowsaio +Windows native asynchronous I/O. .TP .B mmap File is memory mapped with \fImmap\fR\|(2) and data copied using @@ -372,6 +414,10 @@ approach to asycnronous I/O. .br See . .TP +.B rdma +The RDMA I/O engine supports both RDMA memory semantics (RDMA_WRITE/RDMA_READ) +and channel semantics (Send/Recv) for the InfiniBand, RoCE and iWARP protocols. +.TP .B external Loads an external I/O engine object file. Append the engine filename as `:\fIenginepath\fR'. @@ -470,7 +516,7 @@ 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 I/O history. This parameter is mutually exclusive with \fBverify\fR. .TP -.B softrandommap +.BI softrandommap \fR=\fPbool See \fBnorandommap\fR. If fio runs with the random block map enabled and it fails to allocate the map, if this option is set it will continue without a random block map. As coverage will not be as complete as with random maps, this @@ -588,7 +634,7 @@ number, eg echoing 8 will ensure that the OS has 8 huge pages ready for use. .RE .TP -.BI iomem_align \fR=\fPint +.BI iomem_align \fR=\fPint "\fR,\fP mem_align" \fR=\fPint This indiciates the memory alignment of the IO memory buffers. Note that the given alignment is applied to the first IO unit buffer, if using \fBiodepth\fR the alignment of the following buffers are given by the \fBbs\fR used. In @@ -686,6 +732,11 @@ has to be a hex number that starts with either "0x" or "0X". Use with If true, exit the job on the first observed verification failure. Default: false. .TP +.BI verify_dump \fR=\fPbool +If set, dump the contents of both the original data block and the data block we +read off disk to files. This allows later analysis to inspect just what kind of +data corruption occurred. On by default. +.TP .BI verify_async \fR=\fPint Fio will normally verify IO inline from the submitting thread. This option takes an integer describing how many async offload threads to create for IO @@ -715,8 +766,8 @@ read back and verified). If \fBverify_backlog_batch\fR is less than \fBverify_backlog_batch\fR is larger than \fBverify_backlog\fR, some blocks will be verified more than once. .TP -.B stonewall -Wait for preceeding jobs in the job file to exit before starting this one. +.B stonewall "\fR,\fP wait_for_previous" +Wait for preceding jobs in the job file to exit before starting this one. \fBstonewall\fR implies \fBnew_group\fR. .TP .B new_group @@ -743,7 +794,9 @@ Skip the specified number of bytes when \fBzonesize\fR bytes of data have been read. .TP .BI write_iolog \fR=\fPstr -Write the issued I/O patterns to the specified file. +Write the issued I/O patterns to the specified file. Specify a separate file +for each job, otherwise the iologs will be interspersed and the file may be +corrupt. .TP .BI read_iolog \fR=\fPstr Replay the I/O patterns contained in the specified file generated by @@ -780,7 +833,7 @@ really high IOPS rates. Note that to really get rid of a large amount of these calls, this option must be used with disable_slat and disable_bw as well. .TP .B disable_clat \fR=\fPbool -Disable measurements of submission latency numbers. See \fBdisable_lat\fR. +Disable measurements of completion latency numbers. See \fBdisable_lat\fR. .TP .B disable_slat \fR=\fPbool Disable measurements of submission latency numbers. See \fBdisable_lat\fR. @@ -833,7 +886,7 @@ 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 mounted, you can do so with: -# mount -t cgroup -o blkio none /cgroup +# mount \-t cgroup \-o blkio none /cgroup .TP .BI cgroup_weight \fR=\fPint Set the weight of the cgroup to this value. See the documentation that comes @@ -851,6 +904,17 @@ the thread/process does any work. .TP .BI gid \fR=\fPint Set group ID, see \fBuid\fR. +.TP +.BI clat_percentiles \fR=\fPbool +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 +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. .SH OUTPUT While running, \fBfio\fR will display the status of the created jobs. For example: @@ -1075,7 +1139,7 @@ Milliseconds: .RE .RE .P -Error Info (dependant on continue_on_error, default off): +Error Info (dependent on continue_on_error, default off): .RS .B total # errors, first error code .RE