X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.1;h=47bc15920831804ed3bba30ddc42685889f6d785;hp=14569e9fb3dfc4d2fee552549da470768f4accfe;hb=63a4b9cca4ba3aa4101051402cbbe946ced17a49;hpb=38ca5f03add887d9b7fa371fecd535c624a3031a diff --git a/fio.1 b/fio.1 index 14569e9f..47bc1592 100644 --- a/fio.1 +++ b/fio.1 @@ -536,7 +536,7 @@ set fio will use the first listed directory, and thereby matching the specified, but lets all clones use the same file if set). .RS .P -See the \fBfilename\fR option for information on how to escape ':' and '\\' +See the \fBfilename\fR option for information on how to escape ':' characters within the directory path itself. .P Note: To control the directory fio will use for internal state files @@ -557,10 +557,10 @@ by this option will be \fBsize\fR divided by number of files unless an explicit size is specified by \fBfilesize\fR. .RS .P -Each colon and backslash in the wanted path must be escaped with a '\\' +Each colon in the wanted path must be escaped with a '\\' character. For instance, if the path is `/dev/dsk/foo@3,0:c' then you would use `filename=/dev/dsk/foo@3,0\\:c' and if the path is -`F:\\filename' then you would use `filename=F\\:\\\\filename'. +`F:\\filename' then you would use `filename=F\\:\\filename'. .P On Windows, disk devices are accessed as `\\\\.\\PhysicalDrive0' for the first device, `\\\\.\\PhysicalDrive1' for the second etc. @@ -804,7 +804,11 @@ so. Default: false. When running a random write test across an entire drive many more zones will be open than in a typical application workload. Hence this command line option that allows to limit the number of open zones. The number of open zones is -defined as the number of zones to which write commands are issued. +defined as the number of zones to which write commands are issued by all +threads/processes. +.TP +.BI job_max_open_zones \fR=\fPint +Limit on the number of simultaneously opened zones per single thread/process. .TP .BI zone_reset_threshold \fR=\fPfloat A number between zero and one that indicates the ratio of logical blocks with @@ -1629,6 +1633,12 @@ I/O. Requires \fBfilename\fR option to specify either block or character devices. This engine supports trim operations. The sg engine includes engine specific options. .TP +.B libzbc +Synchronous I/O engine for SMR hard-disks using the \fBlibzbc\fR +library. The target can be either an sg character device or +a block device file. This engine supports the zonemode=zbd zone +operations. +.TP .B null Doesn't transfer any data, just pretends to. This is mainly used to exercise fio itself and for debugging/testing purposes. @@ -1760,6 +1770,11 @@ Simply create the files and do no I/O to them. You still need to set \fBfilesize\fR so that all the accounting still occurs, but no actual I/O will be done other than creating the file. .TP +.B filestat +Simply do stat() and do no I/O to the file. You need to set 'filesize' +and 'nrfiles', so that files will be created. +This engine is to measure file lookup and meta data access. +.TP .B libpmem Read and write using mmap I/O to a file on a filesystem mounted with DAX on a persistent memory device through the PMDK @@ -1790,12 +1805,13 @@ In addition, there are some parameters which are only valid when a specific with the caveat that when used on the command line, they must come after the \fBioengine\fR that defines them is selected. .TP -.BI (io_uring)hipri -If this option is set, fio will attempt to use polled IO completions. Normal IO -completions generate interrupts to signal the completion of IO, polled -completions do not. Hence they are require active reaping by the application. -The benefits are more efficient IO for high IOPS scenarios, and lower latencies -for low queue depth IO. +.BI (io_uring, libaio)cmdprio_percentage \fR=\fPint +Set the percentage of I/O that will be issued with higher priority by setting +the priority bit. Non-read I/O is likely unaffected by ``cmdprio_percentage``. +This option cannot be used with the `prio` or `prioclass` options. For this +option to set the priority bit properly, NCQ priority must be supported and +enabled and `direct=1' option must be used. fio must also be run as the root +user. .TP .BI (io_uring)fixedbufs If fio is asked to do direct IO, then Linux will map pages for each IO call, and @@ -1803,6 +1819,13 @@ release them when IO is done. If this option is set, the pages are pre-mapped before IO is started. This eliminates the need to map and release for each IO. This is more efficient, and reduces the IO latency as well. .TP +.BI (io_uring)hipri +If this option is set, fio will attempt to use polled IO completions. Normal IO +completions generate interrupts to signal the completion of IO, polled +completions do not. Hence they are require active reaping by the application. +The benefits are more efficient IO for high IOPS scenarios, and lower latencies +for low queue depth IO. +.TP .BI (io_uring)registerfiles With this option, fio registers the set of files being used with the kernel. This avoids the overhead of managing file counts in the kernel, making the @@ -2020,6 +2043,10 @@ on the client site it will be used in the rdma_resolve_add() function. This can be useful when multiple paths exist between the client and the server or in certain loopback configurations. .TP +.BI (filestat)stat_type \fR=\fPstr +Specify stat system call type to measure lookup/getattr performance. +Default is \fBstat\fR for \fBstat\fR\|(2). +.TP .BI (sg)readfua \fR=\fPbool With readfua option set to 1, read operations include the force unit access (fua) flag. Default: 0. @@ -2253,6 +2280,11 @@ The percentage of I/Os that must fall within the criteria specified by defaults to 100.0, meaning that all I/Os must be equal or below to the value set by \fBlatency_target\fR. .TP +.BI latency_run \fR=\fPbool +Used with \fBlatency_target\fR. If false (default), fio will find the highest +queue depth that meets \fBlatency_target\fR and exit. If true, fio will continue +running and try to meet \fBlatency_target\fR by adjusting queue depth. +.TP .BI max_latency \fR=\fPtime If set, fio will exit the job with an ETIMEDOUT error if it exceeds this maximum latency. When the unit is omitted, the value is interpreted in @@ -2277,7 +2309,7 @@ to replay a workload captured by blktrace. See replay, the file needs to be turned into a blkparse binary data file first (`blkparse \-o /dev/null \-d file_for_fio.bin'). You can specify a number of files by separating the names with a ':' character. -See the \fBfilename\fR option for information on how to escape ':' and '\' +See the \fBfilename\fR option for information on how to escape ':' characters within the file names. These files will be sequentially assigned to job clones created by \fBnumjobs\fR. .TP @@ -2381,10 +2413,14 @@ priority class. Set the I/O priority value of this job. Linux limits us to a positive value between 0 and 7, with 0 being the highest. See man \fBionice\fR\|(1). Refer to an appropriate manpage for other operating -systems since meaning of priority may differ. +systems since meaning of priority may differ. For per-command priority +setting, see I/O engine specific `cmdprio_percentage` and `hipri_percentage` +options. .TP .BI prioclass \fR=\fPint -Set the I/O priority class. See man \fBionice\fR\|(1). +Set the I/O priority class. See man \fBionice\fR\|(1). For per-command +priority setting, see I/O engine specific `cmdprio_percentage` and `hipri_percent` +options. .TP .BI cpus_allowed \fR=\fPstr Controls the same options as \fBcpumask\fR, but accepts a textual @@ -2509,9 +2545,20 @@ wall also implies starting a new reporting group, see \fBgroup_reporting\fR. .TP .BI exitall -By default, fio will continue running all other jobs when one job finishes -but sometimes this is not the desired action. Setting \fBexitall\fR will -instead make fio terminate all other jobs when one job finishes. +By default, fio will continue running all other jobs when one job finishes. +Sometimes this is not the desired action. Setting \fBexitall\fR will instead +make fio terminate all jobs in the same group, as soon as one job of that +group finishes. +.TP +.BI exit_what +By default, fio will continue running all other jobs when one job finishes. +Sometimes this is not the desired action. Setting \fBexit_all\fR will instead +make fio terminate all jobs in the same group. The option \fBexit_what\fR +allows to control which jobs get terminated when \fBexitall\fR is enabled. The +default is \fBgroup\fR and does not change the behaviour of \fBexitall\fR. The +setting \fBall\fR terminates all jobs. The setting \fBstonewall\fR terminates +all currently running jobs across all groups and continues execution with the +next stonewalled group. .TP .BI exec_prerun \fR=\fPstr Before running this job, issue the command specified through @@ -2970,23 +3017,24 @@ Disable measurements of submission latency numbers. See Disable measurements of throughput/bandwidth numbers. See \fBdisable_lat\fR. .TP +.BI slat_percentiles \fR=\fPbool +Report submission latency percentiles. Submission latency is not recorded +for synchronous ioengines. +.TP .BI clat_percentiles \fR=\fPbool -Enable the reporting of percentiles of completion latencies. This option is -mutually exclusive with \fBlat_percentiles\fR. +Report completion latency percentiles. .TP .BI lat_percentiles \fR=\fPbool -Enable the reporting of percentiles of I/O latencies. This is similar to -\fBclat_percentiles\fR, except that this includes the submission latency. -This option is mutually exclusive with \fBclat_percentiles\fR. +Report total latency percentiles. Total latency is the sum of submission +latency and completion latency. .TP .BI percentile_list \fR=\fPfloat_list -Overwrite the default list of percentiles for completion latencies and the -block error histogram. Each number is a floating number in the range +Overwrite the default list of percentiles for latencies and the +block error histogram. Each number is a floating point 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. +numbers. For example, `\-\-percentile_list=99.5:99.9' will cause fio to +report the latency durations below which 99.5% and 99.9% of the observed +latencies fell, respectively. .TP .BI significant_figures \fR=\fPint If using \fB\-\-output\-format\fR of `normal', set the significant figures