X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=fio.1;h=ca99ad743f65d7333faef5caa21f30c4e286bdf1;hb=24e4321c5c1fb81d2bc2a0245bdc1e8350c768d7;hp=f486276358b4230fdea4693b7662b0d3b3d9a6eb;hpb=6d500c2e886635861f68cac61039da1f397a7685;p=fio.git diff --git a/fio.1 b/fio.1 index f4862763..ca99ad74 100644 --- a/fio.1 +++ b/fio.1 @@ -1,4 +1,4 @@ -.TH fio 1 "December 2016" "User Manual" +.TH fio 1 "June 2017" "User Manual" .SH NAME fio \- flexible I/O tester .SH SYNOPSIS @@ -43,7 +43,7 @@ Deprecated, use \-\-output-format instead to select multiple formats. Display version information and exit. .TP .BI \-\-terse\-version \fR=\fPversion -Set terse version output format (Current version 3, or older version 2). +Set terse version output format (default 3, or 2, 4, 5) .TP .B \-\-help Display usage information and exit. @@ -533,7 +533,7 @@ bs=256k means 256k for reads, writes and trims bs=8k,32k means 8k for reads, 32k for writes and trims bs=8k,32k, means 8k for reads, 32k for writes, and default for trims bs=,8k means default for reads, 8k for writes and trims -bs=,8k, means default for reads, 8k for writes, and default for writes +bs=,8k, means default for reads, 8k for writes, and default for trims .fi .TP .BI blocksize_range \fR=\fPirange[,irange][,irange] "\fR,\fB bsrange" \fR=\fPirange[,irange][,irange] @@ -611,13 +611,20 @@ the remaining zeroed. With this set to some chunk size smaller than the block size, fio can alternate random and zeroed data throughout the IO buffer. .TP .BI buffer_pattern \fR=\fPstr -If set, fio will fill the IO buffers with this pattern. If not set, the contents -of IO buffers is defined by the other options related to buffer contents. The -setting can be any pattern of bytes, and can be prefixed with 0x for hex -values. It may also be a string, where the string must then be wrapped with -"", e.g.: +If set, fio will fill the I/O buffers with this pattern or with the contents +of a file. If not set, the contents of I/O buffers are defined by the other +options related to buffer contents. The setting can be any pattern of bytes, +and can be prefixed with 0x for hex values. It may also be a string, where +the string must then be wrapped with ``""``. Or it may also be a filename, +where the filename must be wrapped with ``''`` in which case the file is +opened and read. Note that not all the file contents will be read if that +would cause the buffers to overflow. So, for example: .RS .RS +\fBbuffer_pattern\fR='filename' +.RS +or +.RE \fBbuffer_pattern\fR="abcd" .RS or @@ -632,7 +639,7 @@ or Also you can combine everything together in any order: .LP .RS -\fBbuffer_pattern\fR=0xdeadface"abcd"-12 +\fBbuffer_pattern\fR=0xdeadface"abcd"-12'filename' .RE .RE .TP @@ -811,10 +818,12 @@ and discarding before overwriting. The trimwrite mode works well for this constraint. .TP .B pmemblk -Read and write through the NVML libpmemblk interface. +Read and write using filesystem DAX to a file on a filesystem mounted with +DAX on a persistent memory device through the NVML libpmemblk library. .TP .B dev-dax -Read and write through a DAX device exposed from persistent memory. +Read and write using device DAX to a persistent memory device +(e.g., /dev/dax0.0) through the NVML libpmem library. .RE .P .RE @@ -902,7 +911,13 @@ If true, use buffered I/O. This is the opposite of the \fBdirect\fR parameter. Default: true. .TP .BI offset \fR=\fPint -Offset in the file to start I/O. Data before the offset will not be touched. +Start I/O at the provided offset in the file, given as either a fixed size in +bytes or a percentage. If a percentage is given, the next \fBblockalign\fR-ed +offset will be used. Data before the given offset will not be touched. This +effectively caps the file size at (real_size - offset). Can be combined with +\fBsize\fR to constrain the start and end range of the I/O workload. A percentage +can be specified by a number between 1 and 100 followed by '%', for example, +offset=20% to specify 20%. .TP .BI offset_increment \fR=\fPint If this is provided, then the real offset becomes the @@ -1307,6 +1322,9 @@ Same as \fBmmap\fR, but use huge files as backing. .TP .B mmapshared Same as \fBmmap\fR, but use a MMAP_SHARED mapping. +.TP +.B cudamalloc +Use GPU memory as the buffers for GPUDirect RDMA benchmark. The ioengine must be \fBrdma\fR. .RE .P The amount of memory allocated is the maximum allowed \fBblocksize\fR for the @@ -1412,7 +1430,7 @@ option. The allowed values are: .RS .RS .TP -.B md5 crc16 crc32 crc32c crc32c-intel crc64 crc7 sha256 sha512 sha1 xxhash +.B md5 crc16 crc32 crc32c crc32c-intel crc64 crc7 sha256 sha512 sha1 sha3-224 sha3-256 sha3-384 sha3-512 xxhash Store appropriate checksum in the header of each block. crc32c-intel is hardware accelerated SSE4.2 driven, falls back to regular crc32c if not supported by the system. @@ -1546,6 +1564,10 @@ Wait for preceding jobs in the job file to exit before starting this one. 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 stats \fR=\fPbool +By default, fio collects and shows final output results for all jobs that run. +If this option is set to 0, then fio will ignore it in the final stat output. +.TP .BI numjobs \fR=\fPint Number of clones (processes/threads performing the same workload) of this job. Default: 1. @@ -2141,10 +2163,11 @@ scripted use. A job description (if provided) follows on a new line. Note that the first number in the line is the version number. If the output has to be changed for some reason, this number will be incremented by 1 to signify that -change. The fields are: +change. Numbers in brackets (e.g. "[v3]") indicate which terse version +introduced a field. The fields are: .P .RS -.B terse version, fio version, jobname, groupid, error +.B terse version, fio version [v3], jobname, groupid, error .P Read status: .RS @@ -2168,7 +2191,11 @@ Total latency: .RE Bandwidth: .RS -.B min, max, aggregate percentage of total, mean, standard deviation +.B min, max, aggregate percentage of total, mean, standard deviation, number of samples [v5] +.RE +IOPS [v5]: +.RS +.B min, max, mean, standard deviation, number of samples .RE .RE .P @@ -2194,10 +2221,19 @@ Total latency: .RE Bandwidth: .RS -.B min, max, aggregate percentage of total, mean, standard deviation +.B min, max, aggregate percentage of total, mean, standard deviation, number of samples [v5] +.RE +IOPS [v5]: +.RS +.B min, max, mean, standard deviation, number of samples .RE .RE .P +Trim status [all but version 3]: +.RS +Similar to Read/Write status but for trims. +.RE +.P CPU usage: .RS .B user, system, context switches, major page faults, minor page faults @@ -2220,7 +2256,7 @@ Milliseconds: .RE .RE .P -Disk utilization (1 for each disk used): +Disk utilization (1 for each disk used) [v3]: .RS .B name, read ios, write ios, read merges, write merges, read ticks, write ticks, read in-queue time, write in-queue time, disk utilization percentage .RE @@ -2232,6 +2268,15 @@ Error Info (dependent on continue_on_error, default off): .P .B text description (if provided in config - appears on newline) .RE +.P +Below is a single line containing short names for each of the fields in +the minimal output v3, separated by semicolons: +.RS +.P +.nf +terse_version_3;fio_version;jobname;groupid;error;read_kb;read_bandwidth;read_iops;read_runtime_ms;read_slat_min;read_slat_max;read_slat_mean;read_slat_dev;read_clat_max;read_clat_min;read_clat_mean;read_clat_dev;read_clat_pct01;read_clat_pct02;read_clat_pct03;read_clat_pct04;read_clat_pct05;read_clat_pct06;read_clat_pct07;read_clat_pct08;read_clat_pct09;read_clat_pct10;read_clat_pct11;read_clat_pct12;read_clat_pct13;read_clat_pct14;read_clat_pct15;read_clat_pct16;read_clat_pct17;read_clat_pct18;read_clat_pct19;read_clat_pct20;read_tlat_min;read_lat_max;read_lat_mean;read_lat_dev;read_bw_min;read_bw_max;read_bw_agg_pct;read_bw_mean;read_bw_dev;write_kb;write_bandwidth;write_iops;write_runtime_ms;write_slat_min;write_slat_max;write_slat_mean;write_slat_dev;write_clat_max;write_clat_min;write_clat_mean;write_clat_dev;write_clat_pct01;write_clat_pct02;write_clat_pct03;write_clat_pct04;write_clat_pct05;write_clat_pct06;write_clat_pct07;write_clat_pct08;write_clat_pct09;write_clat_pct10;write_clat_pct11;write_clat_pct12;write_clat_pct13;write_clat_pct14;write_clat_pct15;write_clat_pct16;write_clat_pct17;write_clat_pct18;write_clat_pct19;write_clat_pct20;write_tlat_min;write_lat_max;write_lat_mean;write_lat_dev;write_bw_min;write_bw_max;write_bw_agg_pct;write_bw_mean;write_bw_dev;cpu_user;cpu_sys;cpu_csw;cpu_mjf;pu_minf;iodepth_1;iodepth_2;iodepth_4;iodepth_8;iodepth_16;iodepth_32;iodepth_64;lat_2us;lat_4us;lat_10us;lat_20us;lat_50us;lat_100us;lat_250us;lat_500us;lat_750us;lat_1000us;lat_2ms;lat_4ms;lat_10ms;lat_20ms;lat_50ms;lat_100ms;lat_250ms;lat_500ms;lat_750ms;lat_1000ms;lat_2000ms;lat_over_2000ms;disk_name;disk_read_iops;disk_write_iops;disk_read_merges;disk_write_merges;disk_read_ticks;write_ticks;disk_queue_time;disk_util +.fi +.RE .SH TRACE FILE FORMAT There are two trace file format that you can encounter. The older (v1) format is unsupported since version 1.20-rc3 (March 2008). It will still be described @@ -2582,3 +2627,10 @@ See \fBREADME\fR. For further documentation see \fBHOWTO\fR and \fBREADME\fR. .br Sample jobfiles are available in the \fBexamples\fR directory. +.br +These are typically located under /usr/share/doc/fio. + +\fBHOWTO\fR: http://git.kernel.dk/cgit/fio/plain/HOWTO +.br +\fBREADME\fR: http://git.kernel.dk/cgit/fio/plain/README +.br