X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=fio.1;h=e8a327c93769e9751112325d8abfa6b13b353662;hb=104ee4dea7246d51d053076c55b917548dd0e7e2;hp=8d596fb19105df2e6b3aabcbda171cf462f3157e;hpb=7903bf87725b18495a06f7199342f167147712eb;p=fio.git diff --git a/fio.1 b/fio.1 index 8d596fb1..e8a327c9 100644 --- a/fio.1 +++ b/fio.1 @@ -30,7 +30,7 @@ dump of the latency buckets. Limit run time to \fIruntime\fR seconds. .TP .B \-\-bandwidth\-log -Generate per-job bandwidth logs. +Generate aggregate bandwidth logs. .TP .B \-\-minimal Print statistics in a terse, semicolon-delimited format. @@ -722,6 +722,9 @@ constraint. .TP .B pmemblk Read and write through the NVML libpmemblk interface. +.TP +.B dev-dax +Read and write through a DAX device exposed from persistent memory. .RE .P .RE @@ -764,7 +767,7 @@ Example #1: \fBiodepth_batch_complete_max\fR= .RE -which means that we will retrieve at leat 1 IO and up to the +which means that we will retrieve at least 1 IO and up to the whole submitted queue depth. If none of IO has been completed yet, we will wait. @@ -1139,6 +1142,50 @@ logging results, thus minimizing the runtime required for stable results. Note that the \fBramp_time\fR is considered lead in time for a job, thus it will increase the total runtime if a special timeout or runtime is specified. .TP +.BI steadystate \fR=\fPstr:float "\fR,\fP ss" \fR=\fPstr:float +Define the criterion and limit for assessing steady state performance. The +first parameter designates the criterion whereas the second parameter sets the +threshold. When the criterion falls below the threshold for the specified +duration, the job will stop. For example, iops_slope:0.1% will direct fio +to terminate the job when the least squares regression slope falls below 0.1% +of the mean IOPS. If group_reporting is enabled this will apply to all jobs in +the group. All assessments are carried out using only data from the rolling +collection window. Threshold limits can be expressed as a fixed value or as a +percentage of the mean in the collection window. Below are the available steady +state assessment criteria. +.RS +.RS +.TP +.B iops +Collect IOPS data. Stop the job if all individual IOPS measurements are within +the specified limit of the mean IOPS (e.g., iops:2 means that all individual +IOPS values must be within 2 of the mean, whereas iops:0.2% means that all +individual IOPS values must be within 0.2% of the mean IOPS to terminate the +job). +.TP +.B iops_slope +Collect IOPS data and calculate the least squares regression slope. Stop the +job if the slope falls below the specified limit. +.TP +.B bw +Collect bandwidth data. Stop the job if all individual bandwidth measurements +are within the specified limit of the mean bandwidth. +.TP +.B bw_slope +Collect bandwidth data and calculate the least squares regression slope. Stop +the job if the slope falls below the specified limit. +.RE +.RE +.TP +.BI steadystate_duration \fR=\fPtime "\fR,\fP ss_dur" \fR=\fPtime +A rolling window of this duration will be used to judge whether steady state +has been reached. Data will be collected once per second. The default is 0 +which disables steady state detection. +.TP +.BI steadystate_ramp_time \fR=\fPtime "\fR,\fP ss_ramp" \fR=\fPtime +Allow the job to run for the specified duration before beginning data collection +for checking the steady state job termination criterion. The default is 0. +.TP .BI invalidate \fR=\fPbool Invalidate buffer-cache for the file prior to starting I/O. Default: true. .TP @@ -1324,7 +1371,7 @@ fio will fill 1/2/3/4 bytes of the buffer at the time(it can be either a decimal or a hex number). The verify_pattern if larger than a 32-bit quantity has to be a hex number that starts with either "0x" or "0X". Use with \fBverify\fP=str. Also, verify_pattern supports %o format, which means that for -each block offset will be written and then verifyied back, e.g.: +each block offset will be written and then verified back, e.g.: .RS .RS \fBverify_pattern\fR=%o @@ -1462,13 +1509,13 @@ If set, this generates bw/clat/iops log with per file private filenames. If not set, jobs with identical names will share the log filename. Default: true. .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 -fio_generate_plots script uses gnuplot to turn these text files into nice -graphs. See \fBwrite_lat_log\fR for behaviour of given filename. For this -option, the postfix is _bw.x.log, where x is the index of the job (1..N, -where N is the number of jobs). If \fBper_job_logs\fR is false, then the -filename will not include the job index. See the \fBLOG FILE FORMATS\fR +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 fio_generate_plots script +uses gnuplot to turn these text files into nice graphs. See \fBwrite_lat_log\fR +for behaviour of given filename. For this option, the postfix is _bw.x.log, +where x is the index of the job (1..N, where N is the number of jobs). If +\fBper_job_logs\fR is false, then the filename will not include the job index. +See the \fBLOG FILE FORMATS\fR section. .TP .BI write_lat_log \fR=\fPstr @@ -2325,7 +2372,7 @@ IO is a TRIM The \fIoffset\fR is the offset, in bytes, from the start of the file, for that particular IO. The logging of the offset can be toggled with \fBlog_offset\fR. -If windowed logging is enabled though \fBlog_avg_msec\fR, then fio doesn't log +If windowed logging is enabled through \fBlog_avg_msec\fR, then fio doesn't log individual IOs. Instead of logs the average values over the specified period of time. Since \fIdata direction\fR and \fIoffset\fR are per-IO values, they aren't applicable if windowed logging is enabled. If windowed logging