X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.1;h=85eb0fe981b0d0b89c40e9b714f48f9112778f25;hp=df140cfe4ee0a06deaf5c81cc3349be7b00e9d6c;hb=675d2d651cce01e8c18cc6fda8bb44e1d9e405bd;hpb=a3ae5b057588f555a1544ec749167a44c5a071aa diff --git a/fio.1 b/fio.1 index df140cfe..85eb0fe9 100644 --- a/fio.1 +++ b/fio.1 @@ -247,6 +247,11 @@ will be used if no other format specifier is given. .RE .P .TP +.BI unique_filename \fR=\fPbool +To avoid collisions between networked clients, fio defaults to prefixing +any generated filenames (with a directory specified) with the source of +the client connecting. To disable this behavior, set this option to 0. +.TP .BI lockfile \fR=\fPstr Fio defaults to not locking any files before it does IO to them. If a file or file descriptor is shared, fio can serialize IO to that file to make the end @@ -304,6 +309,7 @@ Trim and write mixed workload. Blocks will be trimmed first, then the same blocks will be written to. .RE .P +Fio defaults to read if the option is not specified. For mixed I/O, the default split is 50/50. For certain types of io the result may still be skewed a bit, since the speed may be different. It is possible to specify a number of IO's to do before getting a new offset, this is done by @@ -566,10 +572,24 @@ Round robin over opened files (default). .TP .B sequential Do each file in the set sequentially. +.TP +.B zipf +Use a zipfian distribution to decide what file to access. +.TP +.B pareto +Use a pareto distribution to decide what file to access. +.TP +.B gauss +Use a gaussian (normal) distribution to decide what file to access. .RE .P -The number of I/Os to issue before switching to a new file can be specified by -appending `:\fIint\fR' to the service type. +For \fBrandom\fR, \fBroundrobin\fR, and \fBsequential\fR, a postfix can be +appended to tell fio how many I/Os to issue before switching to a new file. +For example, specifying \fBfile_service_type=random:8\fR would cause fio to +issue \fI8\fR I/Os before selecting a new file at random. For the non-uniform +distributions, a floating point postfix can be given to influence how the +distribution is skewed. See \fBrandom_distribution\fR for a description of how +that would work. .RE .TP .BI ioengine \fR=\fPstr @@ -583,6 +603,7 @@ position the I/O location. .TP .B psync Basic \fBpread\fR\|(2) or \fBpwrite\fR\|(2) I/O. +Default on all supported operating systems except for Windows. .TP .B vsync Basic \fBreadv\fR\|(2) or \fBwritev\fR\|(2) I/O. Will emulate queuing by @@ -604,7 +625,7 @@ POSIX asynchronous I/O using \fBaio_read\fR\|(3) and \fBaio_write\fR\|(3). Solaris native asynchronous I/O. .TP .B windowsaio -Windows native asynchronous I/O. +Windows native asynchronous I/O. Default on Windows. .TP .B mmap File is memory mapped with \fBmmap\fR\|(2) and data copied using @@ -614,9 +635,6 @@ File is memory mapped with \fBmmap\fR\|(2) and data copied using \fBsplice\fR\|(2) is used to transfer the data and \fBvmsplice\fR\|(2) to transfer data from user-space to the kernel. .TP -.B syslet-rw -Use the syslet system calls to make regular read/write asynchronous. -.TP .B sg SCSI generic sg v3 I/O. May be either synchronous using the SG_IO ioctl, or if the target is an sg character device, we use \fBread\fR\|(2) and @@ -638,7 +656,8 @@ and send/receive. This ioengine defines engine specific options. .TP .B cpuio Doesn't transfer any data, but burns CPU cycles according to \fBcpuload\fR and -\fBcpucycles\fR parameters. +\fBcpuchunks\fR parameters. A job never finishes unless there is at least one +non-cpuio job. .TP .B guasi The GUASI I/O engine is the Generic Userspace Asynchronous Syscall Interface @@ -700,6 +719,9 @@ treated as erases. Depending on the underlying device type, the I/O may have to go in a certain pattern, e.g., on NAND, writing sequentially to erase blocks and discarding before overwriting. The writetrim mode works well for this constraint. +.TP +.B pmemblk +Read and write through the NVML libpmemblk interface. .RE .P .RE @@ -1130,7 +1152,7 @@ Allocation method for I/O unit buffer. Allowed values are: .RS .TP .B malloc -Allocate memory with \fBmalloc\fR\|(3). +Allocate memory with \fBmalloc\fR\|(3). Default memory type. .TP .B shm Use shared memory buffers allocated through \fBshmget\fR\|(2). @@ -1180,12 +1202,14 @@ Terminate all jobs if one job finishes in error. Default: wait for each job to finish. .TP .BI bwavgtime \fR=\fPint -Average bandwidth calculations over the given time in milliseconds. Default: -500ms. +Average bandwidth calculations over the given time in milliseconds. If the job +also does bandwidth logging through \fBwrite_bw_log\fR, then the minimum of +this option and \fBlog_avg_msec\fR will be used. Default: 500ms. .TP .BI iopsavgtime \fR=\fPint -Average IOPS calculations over the given time in milliseconds. Default: -500ms. +Average IOPS calculations over the given time in milliseconds. If the job +also does IOPS logging through \fBwrite_iops_log\fR, then the minimum of +this option and \fBlog_avg_msec\fR will be used. Default: 500ms. .TP .BI create_serialize \fR=\fPbool If true, serialize file creation for the jobs. Default: true. @@ -1465,9 +1489,9 @@ By default, fio will log an entry in the iops, latency, or bw log for every IO that completes. When writing to the disk log, that can quickly grow to a very large size. Setting this option makes fio average the each log entry over the specified period of time, reducing the resolution of the log. See -\fBlog_max\fR as well. Defaults to 0, logging all entries. +\fBlog_max_value\fR as well. Defaults to 0, logging all entries. .TP -.BI log_max \fR=\fPbool +.BI log_max_value \fR=\fPbool If \fBlog_avg_msec\fR is set, fio logs the average over that window. If you instead want to log the maximum value, set this option to 1. Defaults to 0, meaning that averaged values are logged. @@ -1671,13 +1695,13 @@ Some parameters are only valid when a specific ioengine is in use. These are used identically to normal parameters, with the caveat that when used on the command line, they must come after the ioengine. .TP -.BI (cpu)cpuload \fR=\fPint +.BI (cpuio)cpuload \fR=\fPint Attempt to use the specified percentage of CPU cycles. .TP -.BI (cpu)cpuchunks \fR=\fPint +.BI (cpuio)cpuchunks \fR=\fPint Split the load into cycles of the given time. In microseconds. .TP -.BI (cpu)exit_on_io_done \fR=\fPbool +.BI (cpuio)exit_on_io_done \fR=\fPbool Detect when IO threads are done, then exit. .TP .BI (libaio)userspace_reap @@ -1688,7 +1712,7 @@ from user-space to reap events. The reaping mode is only enabled when polling for a minimum of 0 events (eg when iodepth_batch_complete=0). .TP -.BI (psyncv2)hipri +.BI (pvsync2)hipri Set RWF_HIPRI on IO, indicating to the kernel that it's of higher priority than normal. .TP @@ -1772,6 +1796,9 @@ Preallocate donor's file on init .BI 1: allocate space immediately inside defragment event, and free right after event .RE +.TP +.BI (rbd)clustername \fR=\fPstr +Specifies the name of the ceph cluster. .TP .BI (rbd)rbdname \fR=\fPstr Specifies the name of the RBD. @@ -1780,7 +1807,9 @@ Specifies the name of the RBD. Specifies the name of the Ceph pool containing the RBD. .TP .BI (rbd)clientname \fR=\fPstr -Specifies the username (without the 'client.' prefix) used to access the Ceph cluster. +Specifies the username (without the 'client.' prefix) used to access the Ceph +cluster. If the clustername is specified, the clientname shall be the full +type.id string. If no type. prefix is given, fio will add 'client.' by default. .TP .BI (mtd)skipbad \fR=\fPbool Skip operations against known bad blocks. @@ -1873,7 +1902,9 @@ and standard deviation. .TP .B cpu CPU usage statistics. Includes user and system time, number of context switches -this thread went through and number of major and minor page faults. +this thread went through and number of major and minor page faults. The CPU +utilization numbers are averages for the jobs in that reporting group, while +the context and fault counters are summed. .TP .B IO depths Distribution of I/O depths. Each depth includes everything less than (or equal) @@ -2056,7 +2087,7 @@ This format is not supported in Fio versions => 1.20-rc3. .B Trace file format v2 .RS The second version of the trace file format was added in Fio version 1.17. -It allows to access more then one file per trace and has a bigger set of +It allows one to access more then one file per trace and has a bigger set of possible file actions. The first line of the trace file has to be: