X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=fio.1;h=3b1112256f77595fd6c696ca54bb2d83be051738;hb=811826be429fd6fc5154d9b04ced1cd22bd66758;hp=0baa4295a0d8406313d8e87ddd85f45a58ad5172;hpb=c8eeb9df1f52f28567a5937e141decc6a26ec30b;p=fio.git diff --git a/fio.1 b/fio.1 index 0baa4295..3b111225 100644 --- a/fio.1 +++ b/fio.1 @@ -12,6 +12,11 @@ The typical use of fio is to write a job file matching the I/O load one wants to simulate. .SH OPTIONS .TP +.BI \-\-debug \fR=\fPtype +Enable verbose tracing of various fio actions. May be `all' for all types +or individual types separated by a comma (eg \-\-debug=io,file). `help' will +list all available tracing options. +.TP .BI \-\-output \fR=\fPfilename Write output to \fIfilename\fR. .TP @@ -27,6 +32,18 @@ Generate per-job bandwidth logs. .B \-\-minimal Print statistics in a terse, semicolon-delimited format. .TP +.B \-\-version +Display version information and exit. +.TP +.BI \-\-terse\-version \fR=\fPversion +Set terse version output format (Current version 3, or older version 2). +.TP +.B \-\-help +Display usage information and exit. +.TP +.BI \-\-cmdhelp \fR=\fPcommand +Print help information for \fIcommand\fR. May be `all' for all commands. +.TP .BI \-\-showcmd \fR=\fPjobfile Convert \fIjobfile\fR to a set of command-line options. .TP @@ -37,25 +54,29 @@ Enable read-only safety checks. Specifies when real-time ETA estimate should be printed. \fIwhen\fR may be one of `always', `never' or `auto'. .TP +.BI \-\-readonly +Turn on safety read-only checks, preventing any attempted write. +.TP .BI \-\-section \fR=\fPsec -Only run section \fIsec\fR from job file. +Only run section \fIsec\fR from job file. Multiple of these options can be given, adding more sections to run. .TP -.BI \-\-cmdhelp \fR=\fPcommand -Print help information for \fIcommand\fR. May be `all' for all commands. +.BI \-\-alloc\-size \fR=\fPkb +Set the internal smalloc pool size to \fIkb\fP kilobytes. .TP -.BI \-\-debug \fR=\fPtype -Enable verbose tracing of various fio actions. May be `all' for all types -or individual types separated by a comma (eg \-\-debug=io,file). `help' will -list all available tracing options. +.BI \-\-warnings\-fatal +All fio parser warnings are fatal, causing fio to exit with an error. .TP -.B \-\-help -Display usage information and exit. +.BI \-\-max\-jobs \fR=\fPnr +Set the maximum allowed number of jobs (threads/processes) to suport. .TP -.B \-\-version -Display version information and exit. +.BI \-\-server \fR=\fPargs +Start a backend server, with \fIargs\fP specifying what to listen to. See client/server section. +.TP +.BI \-\-daemonize \fR=\fPpidfile +Background a fio server, writing the pid to the given pid file. .TP -.B \-\-terse\-version\fR=\fPtype -Terse version output format +.BI \-\-client \fR=\fPhost +Instead of running the jobs locally, send and run them on the given host. .SH "JOB FILE FORMAT" Job files are in `ini' format. They consist of one or more job definitions, which begin with a job name in square brackets and @@ -416,8 +437,9 @@ itself and for debugging and testing purposes. .TP .B net Transfer over the network. \fBfilename\fR must be set appropriately to -`\fIhost\fR/\fIport\fR' regardless of data direction. If receiving, only the -\fIport\fR argument is used. +`\fIhost\fR,\fIport\fR,\fItype\fR' regardless of data direction. \fItype\fR +is one of \fBtcp\fR, \fBudp\fR, or \fBunix\fR. For UNIX domain sockets, +the \fIhost\fR parameter is a file system path. .TP .B netsplice Like \fBnet\fR, but uses \fIsplice\fR\|(2) and \fIvmsplice\fR\|(2) to map data @@ -940,7 +962,7 @@ Enable the reporting of percentiles of completion latencies. Overwrite the default list of percentiles for completion latencies. Each number is a floating number in the range (0,100], and the maximum length of the list is 20. Use ':' to separate the -numbers. For example, --percentile_list=99.5:99.9 will cause fio to +numbers. 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. .SH OUTPUT @@ -1099,11 +1121,11 @@ for some reason, this number will be incremented by 1 to signify that change. The fields are: .P .RS -.B version, jobname, groupid, error +.B terse version, fio version, jobname, groupid, error .P Read status: .RS -.B Total I/O \fR(KB)\fP, bandwidth \fR(KB/s)\fP, runtime \fR(ms)\fP +.B Total I/O \fR(KB)\fP, bandwidth \fR(KB/s)\fP, IOPS, runtime \fR(ms)\fP .P Submission latency: .RS @@ -1113,6 +1135,10 @@ Completion latency: .RS .B min, max, mean, standard deviation .RE +Completion latency percentiles (20 fields): +.RS +.B Xth percentile=usec +.RE Total latency: .RS .B min, max, mean, standard deviation @@ -1125,7 +1151,7 @@ Bandwidth: .P Write status: .RS -.B Total I/O \fR(KB)\fP, bandwidth \fR(KB/s)\fP, runtime \fR(ms)\fP +.B Total I/O \fR(KB)\fP, bandwidth \fR(KB/s)\fP, IOPS, runtime \fR(ms)\fP .P Submission latency: .RS @@ -1135,6 +1161,10 @@ Completion latency: .RS .B min, max, mean, standard deviation .RE +Completion latency percentiles (20 fields): +.RS +.B Xth percentile=usec +.RE Total latency: .RS .B min, max, mean, standard deviation @@ -1167,6 +1197,11 @@ Milliseconds: .RE .RE .P +Disk utilization (1 for each disk used): +.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 +.P Error Info (dependent on continue_on_error, default off): .RS .B total # errors, first error code @@ -1174,7 +1209,61 @@ Error Info (dependent on continue_on_error, default off): .P .B text description (if provided in config - appears on newline) .RE +.SH CLIENT / SERVER +Normally you would run fio as a stand-alone application on the machine +where the IO workload should be generated. However, it is also possible to +run the frontend and backend of fio separately. This makes it possible to +have a fio server running on the machine(s) where the IO workload should +be running, while controlling it from another machine. + +To start the server, you would do: + +\fBfio \-\-server=args\fR + +on that machine, where args defines what fio listens to. The arguments +are of the form 'type:hostname or IP:port'. 'type' is either 'ip' (or ip4) +for TCP/IP v4, 'ip6' for TCP/IP v6, or 'sock' for a local unix domain socket. +'hostname' is either a hostname or IP address, and 'port' is the port to +listen to (only valid for TCP/IP, not a local socket). Some examples: + +1) fio --server + + Start a fio server, listening on all interfaces on the default port (8765). + +2) fio --server=ip:hostname,4444 + + Start a fio server, listening on IP belonging to hostname and on port 4444. + +3) fio --server=ip6:::1,4444 + + Start a fio server, listening on IPv6 localhost ::1 and on port 4444. + +4) fio --server=,4444 + + Start a fio server, listening on all interfaces on port 4444. + +5) fio --server=1.2.3.4 + + Start a fio server, listening on IP 1.2.3.4 on the default port. + +6) fio --server=sock:/tmp/fio.sock + + Start a fio server, listening on the local socket /tmp/fio.sock. + +When a server is running, you can connect to it from a client. The client +is run with: + +fio --local-args --client=server --remote-args + +where --local-args are arguments that are local to the client where it is +running, 'server' is the connect string, and --remote-args and +are sent to the server. The 'server' string follows the same format as it +does on the server side, to allow IP/hostname/socket and port strings. +You can connect to multiple clients as well, to do that you could run: + +fio --client=server2 --client=server2 .SH AUTHORS + .B fio was written by Jens Axboe , now Jens Axboe .