X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.1;h=0f66b3a732f0c66dcf09955defe7ae0a9383ef04;hp=9ddf101abd6d92faa9b2e3f2769e586b4f72fcf3;hb=66347cfa2f73fd76257e058a3649de437c6eccbe;hpb=e5f34d95af9163b42945e1737f628a9526a6f83c diff --git a/fio.1 b/fio.1 index 9ddf101a..0f66b3a7 100644 --- a/fio.1 +++ b/fio.1 @@ -1,4 +1,4 @@ -.TH fio 1 "October 2013" "User Manual" +.TH fio 1 "December 2014" "User Manual" .SH NAME fio \- flexible I/O tester .SH SYNOPSIS @@ -20,12 +20,12 @@ 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 -.B \-\-latency\-log -Generate per-job latency logs. -.TP .B \-\-bandwidth\-log Generate per-job bandwidth logs. .TP @@ -347,12 +347,6 @@ Seed the random number generators based on this seed value, to be able to control what sequence of output is being generated. If not set, the random sequence depends on the \fBrandrepeat\fR setting. .TP -.BI use_os_rand \fR=\fPbool -Fio can either use the random generator supplied by the OS to generate random -offsets, or it can use its 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: @@ -384,23 +378,30 @@ 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). -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 files do not exist, size -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 io_limit \fR=\fPint +been transferred, unless limited by other options (\fBruntime\fR, for instance, +or increased/descreased by \fBio_size\fR). 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 files do not exist, size 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 io_size \fR=\fPint "\fR,\fB io_limit \fR=\fPint Normally fio operates within the region set by \fBsize\fR, which means that the \fBsize\fR option sets both the region and size of IO to be performed. Sometimes that is not what you want. With this option, it is possible to define just the amount of IO that fio should do. For instance, if \fBsize\fR is set to 20G and \fBio_limit\fR is set to 5G, fio will perform IO within -the first 20G but exit when 5G have been done. +the first 20G but exit when 5G have been done. The opposite is also +possible - if \fBsize\fR is set to 20G, and \fBio_size\fR is set to 40G, then +fio will do 40G of IO within the 0..20G region. .TP .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 @@ -466,8 +467,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 @@ -485,9 +484,12 @@ of blocks. Default: true. .BI buffer_compress_percentage \fR=\fPint If this is set, then fio will attempt to provide IO buffer content (on WRITEs) that compress to the specified level. Fio does this by providing a mix of -random data and zeroes. Note that this is per block size unit, for file/disk -wide compression level that matches this setting, you'll also want to set -\fBrefill_buffers\fR. +random data and a fixed pattern. The fixed pattern is either zeroes, or the +pattern specified by \fBbuffer_pattern\fR. If the pattern option is used, it +might skew the compression ratio slightly. Note that this is per block size +unit, for file/disk wide compression level that matches this setting. Note +that this is per block size unit, for file/disk wide compression level that +matches this setting, you'll also want to set refill_buffers. .TP .BI buffer_compress_chunk \fR=\fPint See \fBbuffer_compress_percentage\fR. This setting allows fio to manage how @@ -955,7 +957,7 @@ comma delimited list of numbers, A-B ranges, or 'all'. .BI startdelay \fR=\fPirange Delay start of job for the specified number of seconds. Supports all time suffixes to allow specification of hours, minutes, seconds and -milliseconds - seconds are the default if a unit is ommited. +milliseconds - seconds are the default if a unit is omitted. Can be given as a range which causes each thread to choose randomly out of the range. .TP @@ -1179,6 +1181,17 @@ Trim this number of IO blocks. .BI experimental_verify \fR=\fPbool Enable experimental verification. .TP +.BI verify_state_save \fR=\fPbool +When a job exits during the write phase of a verify workload, save its +current state. This allows fio to replay up until that point, if the +verify state is loaded for the verify read phase. +.TP +.BI verify_state_load \fR=\fPbool +If a verify termination trigger was used, fio stores the current write +state of each thread. This can be used at verification time so that fio +knows how far it should verify. Without this information, fio will run +a full verification pass, according to the settings in the job file used. +.TP .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. @@ -1279,6 +1292,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 @@ -1437,9 +1455,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. @@ -1471,7 +1489,9 @@ If the job is a TCP listener or UDP reader, the hostname is not used and must be omitted unless it is a valid UDP multicast address. .TP .BI (net,netsplice)port \fR=\fPint -The TCP or UDP port to bind to or connect to. +The TCP or UDP port to bind to or connect to. If this is used with +\fBnumjobs\fR 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. .TP .BI (net,netsplice)interface \fR=\fPstr The IP address of the network interface used to send or receive UDP multicast @@ -1866,7 +1886,7 @@ of being passed one from the client. .B fio was written by Jens Axboe , -now Jens Axboe . +now Jens Axboe . .br This man page was written by Aaron Carroll based on documentation by Jens Axboe.