X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=HOWTO;h=6c7abcc7979d275a0bea276fd09deae69a587fec;hp=c73b9ecdc859a8912718968918fe837543a258b7;hb=94e9e396f20a7885d200e4fd44e018d41a07b21a;hpb=99b9a85a2962b4792f92d167fc66744a9ebb1128 diff --git a/HOWTO b/HOWTO index c73b9ecd..6c7abcc7 100644 --- a/HOWTO +++ b/HOWTO @@ -460,25 +460,32 @@ fadvise_hint=bool By default, fio will use fadvise() to advise the kernel If set, fio will use POSIX_FADV_SEQUENTIAL for sequential IO and POSIX_FADV_RANDOM for random IO. +fadvise_stream=int Notify the kernel what write stream ID to place these + writes under. Only supported on Linux. Note, this option + may change going forward. + size=int The total size of file io for this job. Fio will run until this many bytes has been transferred, unless runtime is - limited by other options (such as 'runtime', for instance). - Unless specific nrfiles and filesize options are given, - fio will divide this size between the available files - specified by 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. - + limited by other options (such as 'runtime', for instance, + or increased/decreased by 'io_size'). Unless specific nrfiles + and filesize options are given, fio will divide this size + between the available files specified by 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. + +io_size=int io_limit=int Normally fio operates within the region set by 'size', which means that the 'size' 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 'size' is set to 20G and - 'io_limit' is set to 5G, fio will perform IO within the first - 20G but exit when 5G have been done. + 'io_size' is set to 5G, fio will perform IO within the first + 20G but exit when 5G have been done. The opposite is also + possible - if 'size' is set to 20G, and 'io_size' is set to + 40G, then fio will do 40G of IO within the 0..20G region. filesize=int Individual file sizes. May be a range, in which case fio will select sizes for files at random within the given range @@ -575,8 +582,6 @@ bs_is_seq_rand If this option is set, fio will use the normal read,write zero_buffers If this option is given, fio will init the IO buffers to all zeroes. The default is to fill them with random data. - The resulting IO buffers will not be completely zeroed, - unless scramble_buffers is also turned off. refill_buffers If this option is given, fio will refill the IO buffers on every submit. The default is to only fill it at init @@ -594,9 +599,12 @@ scramble_buffers=bool If refill_buffers is too costly and the target is buffer_compress_percentage=int 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 refill_buffers. + random data and a fixed pattern. The fixed pattern is either + zeroes, or the pattern specified by buffer_pattern. 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, you'll also + want to set refill_buffers. buffer_compress_chunk=int See buffer_compress_percentage. This setting allows fio to manage how big the ranges of random @@ -913,10 +921,10 @@ norandommap Normally fio will cover every block of the file when doing random IO. If this option is given, fio will just get a new random offset without looking at past io history. This means that some blocks may not be read or written, and that - some blocks may be read/written more than once. This option - is mutually exclusive with verify= if and only if multiple - blocksizes (via bsrange=) are used, since fio only tracks - complete rewrites of blocks. + some blocks may be read/written more than once. If this option + is used with verify= and multiple blocksizes (via bsrange=), + only intact blocks are verified, i.e., partially-overwritten + blocks are ignored. softrandommap=bool See norandommap. If fio runs with the random block map enabled and it fails to allocate the map, if this option is @@ -1460,6 +1468,11 @@ log_store_compressed=bool If set, and log_compression is also set, command line parameter. The files will be stored with a .fz suffix. +block_error_percentiles=bool 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. + lockmem=int Pin down the specified amount of memory with mlock(2). Can potentially be used instead of removing memory or booting with less memory to simulate a smaller amount of memory. @@ -1499,13 +1512,13 @@ clat_percentiles=bool Enable the reporting of percentiles of completion latencies. percentile_list=float_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, and - list the numbers in ascending order. 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. + 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, and list the numbers in ascending + order. 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. clocksource=str Use the given clocksource as the base of timing. The supported options are: