X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=HOWTO;h=dce96bcd8103f075d56b21173659f3061f6600b1;hp=72f972c768a61244708041bcf2c4a03528b65833;hb=ae0db592368ce686a3ec9e00c57b4a1a0da0b9ed;hpb=b71968b18ee9d3a5b965da1596b838ba91b444c6 diff --git a/HOWTO b/HOWTO index 72f972c7..dce96bcd 100644 --- a/HOWTO +++ b/HOWTO @@ -1453,8 +1453,8 @@ Buffers and memory mix of random data and a fixed pattern. The fixed pattern is either zeros, or the pattern specified by :option:`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 :option:`refill_buffers`. + block size unit, see :option:`buffer_compress_chunk` for setting a finer + granularity of compression regions. .. option:: buffer_compress_chunk=int @@ -1463,7 +1463,8 @@ Buffers and memory will provide :option:`buffer_compress_percentage` of blocksize random data, followed by the remaining zeroed. With this set to some chunk size smaller than the block size, fio can alternate random and zeroed data throughout the - I/O buffer. + I/O buffer. This is particularly useful when bigger block sizes are used + for a job. Defaults to 512. .. option:: buffer_pattern=str @@ -1819,6 +1820,11 @@ I/O engine set `filesize` so that all the accounting still occurs, but no actual I/O will be done other than creating the file. + **libpmem** + Read and write using mmap I/O to a file on a filesystem + mounted with DAX on a persistent memory device through the NVML + libpmem library. + I/O engine specific parameters ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -2060,7 +2066,7 @@ I/O depth changing data and the overlapping region has a non-zero size. Setting ``serialize_overlap`` tells fio to avoid provoking this behavior by explicitly serializing in-flight I/Os that have a non-zero overlap. Note that setting - this option can reduce both performance and the `:option:iodepth` achieved. + this option can reduce both performance and the :option:`iodepth` achieved. Additionally this option does not work when :option:`io_submit_mode` is set to offload. Default: false. @@ -2722,47 +2728,46 @@ Measurements and reporting .. option:: write_bw_log=str If given, write a bandwidth log for this job. Can be used to store data of - the bandwidth of the jobs in their lifetime. The included - :command:`fio_generate_plots` script uses :command:`gnuplot` to turn these - text files into nice graphs. See :option:`write_lat_log` for behavior of - given filename. For this option, the postfix is :file:`_bw.x.log`, where `x` - is the index of the job (`1..N`, where `N` is the number of jobs). If - :option:`per_job_logs` is false, then the filename will not include the job - index. See `Log File Formats`_. + the bandwidth of the jobs in their lifetime. -.. option:: write_lat_log=str + If no str argument is given, the default filename of + :file:`jobname_type.x.log` is used. Even when the argument is given, fio + will still append the type of log. So if one specifies:: - Same as :option:`write_bw_log`, except that this option stores I/O - submission, completion, and total latencies instead. If no filename is given - with this option, the default filename of :file:`jobname_type.log` is - used. Even if the filename is given, fio will still append the type of - log. So if one specifies:: + write_bw_log=foo - write_lat_log=foo + The actual log name will be :file:`foo_bw.x.log` where `x` is the index + of the job (`1..N`, where `N` is the number of jobs). If + :option:`per_job_logs` is false, then the filename will not include the + `.x` job index. + + The included :command:`fio_generate_plots` script uses :command:`gnuplot` to turn these + text files into nice graphs. See `Log File Formats`_ for how data is + structured within the file. + +.. option:: write_lat_log=str - The actual log names will be :file:`foo_slat.x.log`, :file:`foo_clat.x.log`, - and :file:`foo_lat.x.log`, where `x` is the index of the job (`1..N`, where `N` - is the number of jobs). This helps :command:`fio_generate_plots` find the - logs automatically. If :option:`per_job_logs` is false, then the filename - will not include the job index. See `Log File Formats`_. + Same as :option:`write_bw_log`, except this option creates I/O + submission (e.g., `file:`name_slat.x.log`), completion (e.g., + `file:`name_clat.x.log`), and total (e.g., `file:`name_lat.x.log`) + latency files instead. See :option:`write_bw_log` for details about + the filename format and `Log File Formats`_ for how data is structured + within the files. .. option:: write_hist_log=str - Same as :option:`write_lat_log`, but writes I/O completion latency - histograms. If no filename is given with this option, the default filename - of :file:`jobname_clat_hist.x.log` is used, where `x` is the index of the - job (`1..N`, where `N` is the number of jobs). Even if the filename is given, - fio will still append the type of log. If :option:`per_job_logs` is false, - then the filename will not include the job index. See `Log File Formats`_. + Same as :option:`write_bw_log` but writes an I/O completion latency + histogram file (e.g., `file:`name_hist.x.log`) instead. Note that this + file will be empty unless :option:`log_hist_msec` has also been set. + See :option:`write_bw_log` for details about the filename format and + `Log File Formats`_ for how data is structured within the file. .. option:: write_iops_log=str - Same as :option:`write_bw_log`, but writes IOPS. If no filename is given - with this option, the default filename of :file:`jobname_type.x.log` is - used, where `x` is the index of the job (`1..N`, where `N` is the number of - jobs). Even if the filename is given, fio will still append the type of - log. If :option:`per_job_logs` is false, then the filename will not include - the job index. See `Log File Formats`_. + Same as :option:`write_bw_log`, but writes an IOPS file (e.g. + `file:`name_iops.x.log`) instead. See :option:`write_bw_log` for + details about the filename format and `Log File Formats`_ for how data + is structured within the file. .. option:: log_avg_msec=int @@ -2780,15 +2785,16 @@ Measurements and reporting :option:`log_avg_msec` is inaccurate. Setting this option makes fio log histogram entries over the specified period of time, reducing log sizes for high IOPS devices while retaining percentile accuracy. See - :option:`log_hist_coarseness` as well. Defaults to 0, meaning histogram - logging is disabled. + :option:`log_hist_coarseness` and :option:`write_hist_log` as well. + Defaults to 0, meaning histogram logging is disabled. .. option:: log_hist_coarseness=int Integer ranging from 0 to 6, defining the coarseness of the resolution of the histogram logs enabled with :option:`log_hist_msec`. For each increment in coarseness, fio outputs half as many bins. Defaults to 0, for which - histogram logs contain 1216 latency bins. See `Log File Formats`_. + histogram logs contain 1216 latency bins. See :option:`write_hist_log` + and `Log File Formats`_. .. option:: log_max_value=bool @@ -3258,7 +3264,7 @@ writes in the example above). In the order listed, they denote: short or dropped. **IO latency** - These values are for `--latency-target` and related options. When + These values are for :option:`latency_target` and related options. When these options are engaged, this section describes the I/O depth required to meet the specified latency target.