Commit 522fd2cc authored by Konstantin Khlebnikov's avatar Konstantin Khlebnikov

ioping: update help and manpage

Reorder options, fix unclear descriptions.
Signed-off-by: default avatarKonstantin Khlebnikov <koct9i@gmail.com>
parent 5117f2a2
...@@ -3,15 +3,15 @@ ...@@ -3,15 +3,15 @@
ioping \- simple disk I/O latency monitoring tool ioping \- simple disk I/O latency monitoring tool
.SH SYNOPSYS .SH SYNOPSYS
.SY ioping .SY ioping
.OP \-LABCDWRkq .OP \-ABCDLRWkq
.OP \-c count .OP \-c count
.OP \-w deadline
.OP \-p period
.OP \-P period
.OP \-i interval .OP \-i interval
.OP \-s size .OP \-s size
.OP \-S wsize .OP \-S wsize
.OP \-o offset .OP \-o offset
.OP \-w deadline
.OP \-p period
.OP \-P period
.IR directory | file | device .IR directory | file | device
.br .br
.SY ioping .SY ioping
...@@ -20,60 +20,66 @@ ioping \- simple disk I/O latency monitoring tool ...@@ -20,60 +20,66 @@ ioping \- simple disk I/O latency monitoring tool
.B -v .B -v
.br .br
.SH DESCRIPTION .SH DESCRIPTION
This tool lets you monitor I/O latency in real time. This tool generates various I/O patterns and lets you monitor I/O speed and
latency in real time.
.SH OPTIONS .SH OPTIONS
.TP .TP
.BI \-c \ count .BI \-c \ count
Stop after \fIcount\fR requests. Stop after \fIcount\fR requests.
.TP .TP
.BI \-w \ deadline
Stop after \fIdeadline\fR time passed.
.TP
.BI \-p \ period
Print raw statistics for every \fIperiod\fR requests.
.TP
.BI \-P \ period
Print raw statistics for every \fIperiod\fR in time.
.TP
.BI \-i \ interval .BI \-i \ interval
Set time between requests to \fIinterval\fR (\fB1s\fR). Set time between requests to \fIinterval\fR (\fB1s\fR).
.TP .TP
.BI \-s \ size .BI \-s \ size
Request size (\fB4k\fR). Request size (\fB4k\fR).
.TP .TP
.BI \-S \ size .BI \-S \ wsize
Working set size (\fB1m\fR for directory, whole size for file or device). Working set size (\fB1m\fR for directory, whole size for file or device).
.TP .TP
.BI \-o \ offset .BI \-o \ offset
Starting offset in the file/device (0). Starting offset in the file/device (0).
.TP .TP
.BI \-k .BI \-w \ deadline
Keep (do not delete) working file "ioping.tmp". Works for directory target. Stop after \fIdeadline\fR time passed.
.TP .TP
.B \-L .BI \-p \ period
Use sequential operations rather than random. This also sets request size Print raw statistics for every \fIperiod\fR requests (see format below).
to \fB256k\fR (as in \fB-s 256k\fR). .TP
.BI \-P \ period
Print raw statistics for every \fIperiod\fR in time.
.TP .TP
.B \-A .B \-A
Use asynchronous I/O (syscalls \fBio_submit\fR(2), \fBio_submit\fR(2), etc). Use asynchronous I/O (syscalls \fBio_submit\fR(2), \fBio_submit\fR(2), etc).
.TP .TP
.B \-B
Batch mode. Be quiet and print final statistics in raw format.
.TP
.B \-C .B \-C
Use cached I/O (suppress cache invalidation via \fBposix_fadvise\fR(2)). Use cached I/O. Suppress cache invalidation via \fBposix_fadvise\fR(2)) before
read and \fBfdatasync\fR(2) after each write.
.TP .TP
.B \-D .B \-D
Use direct I/O (see \fBO_DIRECT\fR in \fBopen\fR(2)). Use direct I/O (see \fBO_DIRECT\fR in \fBopen\fR(2)).
.TP .TP
.B \-W .B \-L
Use writes rather than reads. Safe for directory target. Use sequential operations rather than random. This also sets default request
\fB*DANGEROUS*\fR for file/device, it will shred your data. size to \fB256k\fR (as in \fB-s 256k\fR).
In this case should be repeated tree times (\fB-WWW\fR).
.TP .TP
.B \-R .B \-R
Disk seek rate test (same as \fB\-q \-i 0 \-w 3 \-S 64m\fR). Disk seek rate test. This option suppress human-readable output for each
If disk has huge cache working set (-S) should be increased accordingly. request (as \fB-q\fR), sets default interval to zero (\fB-i 0\fR), stops
measurement after 3 seconds (\fB-w 3\fR) and increases default working set
size to 64m (\fB-S 64m\fR). Working set (\fB-S\fR) should be increased
accordingly if disk has huge cache.
.TP .TP
.B \-B .B \-W
Batch mode. Be quiet and print final statistics in raw format. Use writes rather than reads. Safe for directory target. Write I/O gives
more reliable results for systems where non-cached reads are not supported or
cached at some level. Might be \fB*DANGEROUS*\fR for file/device: it will
shred your data. In this case should be repeated tree times (\fB-WWW\fR).
.TP
.BI \-k
Keep and reuse temporary working file "ioping.tmp" (only for directory target).
.TP .TP
.B \-q .B \-q
Suppress periodical human-readable output. Suppress periodical human-readable output.
...@@ -181,7 +187,8 @@ Error during runtime. ...@@ -181,7 +187,8 @@ Error during runtime.
.TP .TP
.B ioping . .B ioping .
Show disk I/O latency using the default values and the current directory, Show disk I/O latency using the default values and the current directory,
until interrupted. until interrupted. This command prepares temporary (unlinked/hidden) working
file and reads random chunks from it using non-cached read requests.
.TP .TP
.B ioping -c 10 -s 1M /tmp .B ioping -c 10 -s 1M /tmp
Measure latency on \fB/tmp\fR using 10 requests of 1 megabyte each. Measure latency on \fB/tmp\fR using 10 requests of 1 megabyte each.
...@@ -205,7 +212,7 @@ Get disk sequential speed in bytes per second. ...@@ -205,7 +212,7 @@ Get disk sequential speed in bytes per second.
.BR badblocks (8), .BR badblocks (8),
.BR .BR
.SH HOMEPAGE .SH HOMEPAGE
.UR http://code.google.com/p/ioping/ .UR https://github.com/koct9i/ioping/
.UE . .UE .
.SH AUTHORS .SH AUTHORS
This program was written by Konstantin Khlebnikov This program was written by Konstantin Khlebnikov
......
...@@ -222,26 +222,26 @@ int fdatasync(int fd) ...@@ -222,26 +222,26 @@ int fdatasync(int fd)
void usage(void) void usage(void)
{ {
fprintf(stderr, fprintf(stderr,
" Usage: ioping [-LABCDWRq] [-c count] [-w deadline] [-pP period] [-i interval]\n" " Usage: ioping [-ABCDRLWkq] [-c count] [-i interval] [-s size] [-S wsize]\n"
" [-s size] [-S wsize] [-o offset] directory|file|device\n" " [-o offset] [-w deadline] [-pP period] directory|file|device\n"
" ioping -h | -v\n" " ioping -h | -v\n"
"\n" "\n"
" -c <count> stop after <count> requests\n" " -c <count> stop after <count> requests\n"
" -w <deadline> stop after <deadline>\n"
" -p <period> print raw statistics for every <period> requests\n"
" -P <period> print raw statistics for every <period> in time\n"
" -i <interval> interval between requests (1s)\n" " -i <interval> interval between requests (1s)\n"
" -s <size> request size (4k)\n" " -s <size> request size (4k)\n"
" -S <wsize> working set size (1m)\n" " -S <wsize> working set size (1m)\n"
" -o <offset> working set offset (0)\n" " -o <offset> working set offset (0)\n"
" -k keep and reuse temporary working file\n" " -w <deadline> stop after <deadline> time passed\n"
" -L use sequential operations (includes -s 256k)\n" " -p <period> print raw statistics for every <period> requests\n"
" -P <period> print raw statistics for every <period> in time\n"
" -A use asynchronous I/O\n" " -A use asynchronous I/O\n"
" -C use cached I/O\n" " -C use cached I/O\n"
" -D use direct I/O\n"
" -W use write I/O *DANGEROUS*\n"
" -R seek rate test (same as -q -i 0 -w 3 -S 64m)\n"
" -B print final statistics in raw format\n" " -B print final statistics in raw format\n"
" -D use direct I/O\n"
" -R seek rate test\n"
" -L use sequential operations\n"
" -W use write I/O (please read manpage)\n"
" -k keep and reuse temporary file (ioping.tmp)\n"
" -q suppress human-readable output\n" " -q suppress human-readable output\n"
" -h display this message and exit\n" " -h display this message and exit\n"
" -v display version and exit\n" " -v display version and exit\n"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment