X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.1;h=99d9f9e07e63a7ccb2c6462bef9e70843ebc82a0;hp=aea9f348512b2529fdd848459b76afd3e1908739;hb=592bf4581264dcb7959359a93bbddd46d12794ab;hpb=e63a0b2f293c6bcf3495c547eba414e1a6cf1840 diff --git a/fio.1 b/fio.1 index aea9f348..99d9f9e0 100644 --- a/fio.1 +++ b/fio.1 @@ -21,7 +21,10 @@ list all available tracing options. Write output to \fIfilename\fR. .TP .BI \-\-output-format \fR=\fPformat -Set the reporting format to \fInormal\fR, \fIterse\fR, or \fIjson\fR. +Set the reporting format to \fInormal\fR, \fIterse\fR, \fIjson\fR, or +\fIjson+\fR. Multiple formats can be selected, separate by a comma. \fIterse\fR +is a CSV based format. \fIjson+\fR is like \fIjson\fR, except it adds a full +dump of the latency buckets. .TP .BI \-\-runtime \fR=\fPruntime Limit run time to \fIruntime\fR seconds. @@ -34,6 +37,7 @@ Print statistics in a terse, semicolon-delimited format. .TP .B \-\-append-terse Print statistics in selected mode AND terse, semicolon-delimited format. +Deprecated, use \-\-output-format instead to select multiple formats. .TP .B \-\-version Display version information and exit. @@ -284,7 +288,7 @@ Random trim (Linux block devices only). .B rw, readwrite Mixed sequential reads and writes. .TP -.B randrw +.B randrw Mixed random reads and writes. .TP .B trimwrite @@ -654,8 +658,8 @@ IO engine that does regular EXT4_IOC_MOVE_EXT ioctls to simulate defragment acti request to DDIR_WRITE event .TP .B rbd -IO engine supporting direct access to Ceph Rados Block Devices (RBD) via librbd -without the need to use the kernel rbd driver. This ioengine defines engine specific +IO engine supporting direct access to Ceph Rados Block Devices (RBD) via librbd +without the need to use the kernel rbd driver. This ioengine defines engine specific options. .TP .B gfapi @@ -704,7 +708,7 @@ which means that we submit each IO as soon as it is available, but can be raised to submit bigger batches of IO at the time. If it is set to 0 the \fBiodepth\fR value will be used. .TP -.BI iodepth_batch_complete \fR=\fPint +.BI iodepth_batch_complete_min \fR=\fPint "\fR,\fP iodepth_batch_complete" \fR=\fPint This defines how many pieces of IO to retrieve at once. It defaults to 1 which means that we'll ask for a minimum of 1 IO in the retrieval process from the kernel. The IO retrieval will go on until we hit the limit set by @@ -712,9 +716,41 @@ kernel. The IO retrieval will go on until we hit the limit set by completed events before queuing more IO. This helps reduce IO latency, at the cost of more retrieval system calls. .TP +.BI iodepth_batch_complete_max \fR=\fPint +This defines maximum pieces of IO to +retrieve at once. This variable should be used along with +\fBiodepth_batch_complete_min\fR=int variable, specifying the range +of min and max amount of IO which should be retrieved. By default +it is equal to \fBiodepth_batch_complete_min\fR value. + +Example #1: +.RS +.RS +\fBiodepth_batch_complete_min\fR=1 +.LP +\fBiodepth_batch_complete_max\fR= +.RE + +which means that we will retrieve at leat 1 IO and up to the +whole submitted queue depth. If none of IO has been completed +yet, we will wait. + +Example #2: +.RS +\fBiodepth_batch_complete_min\fR=0 +.LP +\fBiodepth_batch_complete_max\fR= +.RE + +which means that we can retrieve up to the whole submitted +queue depth, but if none of IO has been completed yet, we will +NOT wait and immediately exit the system call. In this example +we simply do polling. +.RE +.TP .BI iodepth_low \fR=\fPint Low watermark indicating when to start filling the queue again. Default: -\fBiodepth\fR. +\fBiodepth\fR. .TP .BI io_submit_mode \fR=\fPstr This option controls how fio submits the IO to the IO engine. The default is @@ -927,6 +963,10 @@ size is used as the metric. If this rate of I/O is not met, the job will exit. The same format as \fBrate\fR is used for read vs write separation. .TP +.BI rate_poisson \fR=\fPbool +When rate limited, try to simulate request flow under Poisson process (instead +of even distribution). Default: false. +.TP .BI ratecycle \fR=\fPint Average bandwidth for \fBrate\fR and \fBratemin\fR over this number of milliseconds. Default: 1000ms. @@ -1050,6 +1090,9 @@ is given after the option in the format `:\fIfile\fR'. .TP .B mmaphuge Same as \fBmmap\fR, but use huge files as backing. +.TP +.B mmapshared +Same as \fBmmap\fR, but use a MMAP_SHARED mapping. .RE .P The amount of memory allocated is the maximum allowed \fBblocksize\fR for the @@ -1241,8 +1284,8 @@ only N blocks before verifying these blocks. .BI verify_backlog_batch \fR=\fPint Control how many blocks fio will verify if verify_backlog is set. If not set, will default to the value of \fBverify_backlog\fR (meaning the entire queue is -read back and verified). If \fBverify_backlog_batch\fR is less than -\fBverify_backlog\fR then not all blocks will be verified, if +read back and verified). If \fBverify_backlog_batch\fR is less than +\fBverify_backlog\fR then not all blocks will be verified, if \fBverify_backlog_batch\fR is larger than \fBverify_backlog\fR, some blocks will be verified more than once. .TP @@ -1281,7 +1324,7 @@ Start a new reporting group. If not given, all jobs in a file will be part of the same reporting group, unless separated by a stonewall. .TP .BI numjobs \fR=\fPint -Number of clones (processes/threads performing the same workload) of this job. +Number of clones (processes/threads performing the same workload) of this job. Default: 1. .TP .B group_reporting @@ -1474,8 +1517,8 @@ errors for given error type is separated with ':'. Error may be symbol ('ENOSPC', 'ENOMEM') or an integer. .br Example: ignore_error=EAGAIN,ENOSPC:122 . -.br -This option will ignore EAGAIN from READ, and ENOSPC and 122(EDQUOT) from WRITE. +.br +This option will ignore EAGAIN from READ, and ENOSPC and 122(EDQUOT) from WRITE. .TP .BI error_dump \fR=\fPbool If set dump every error even if it is non fatal, true by default. If disabled @@ -1648,7 +1691,7 @@ Set the TCP maximum segment size (TCP_MAXSEG). File will be used as a block donor (swap extents between files) .TP .BI (e4defrag,inplace) \fR=\fPint -Configure donor file block allocation strategy +Configure donor file block allocation strategy .RS .BI 0(default) : Preallocate donor's file on init @@ -1912,7 +1955,7 @@ Disk utilization (1 for each disk used): .P Error Info (dependent on continue_on_error, default off): .RS -.B total # errors, first error code +.B total # errors, first error code .RE .P .B text description (if provided in config - appears on newline) @@ -1979,7 +2022,7 @@ fio \-\-client=server \-\-remote-config /path/to/file.fio Then fio will open this local (to the server) job file instead of being passed one from the client. -If you have many servers (example: 100 VMs/containers), you can input a pathname +If you have many servers (example: 100 VMs/containers), you can input a pathname of a file containing host IPs/names as the parameter value for the \-\-client option. For example, here is an example "host.list" file containing 2 hostnames: @@ -1995,8 +2038,8 @@ In this mode, you cannot input server-specific parameters or job files, and all servers receive the same job file. In order to enable fio \-\-client runs utilizing a shared filesystem from multiple hosts, -fio \-\-client now prepends the IP address of the server to the filename. For example, -if fio is using directory /mnt/nfs/fio and is writing filename fileio.tmp, +fio \-\-client now prepends the IP address of the server to the filename. For example, +if fio is using directory /mnt/nfs/fio and is writing filename fileio.tmp, with a \-\-client hostfile containing two hostnames h1 and h2 with IP addresses 192.168.10.120 and 192.168.10.121, then fio will create two files: @@ -2020,4 +2063,3 @@ See \fBREADME\fR. For further documentation see \fBHOWTO\fR and \fBREADME\fR. .br Sample jobfiles are available in the \fBexamples\fR directory. -