[PATCH] fio: kill asm/unistd.h include
[disktools.git] / README.fio
CommitLineData
e709787c
JA
1fio
2---
3
4fio is a tool that will spawn a number of thread doing a particular
5type of io action as specified by the user. fio takes a number of
6global parameters, each inherited by the thread unless otherwise
7parameters given to them overriding that setting is given.
8
9Options
10-------
11
12$ fio
13 -s IO is sequential
86184d14 14 -b block size in KiB for each io
e709787c 15 -t <sec> Runtime in seconds
e709787c 16 -r For random io, sequence must be repeatable
02bdd9ba 17 -R <on> If one thread fails to meet rate, quit all
e709787c 18 -o <on> Use direct IO is 1, buffered if 0
a0a9b35b
JA
19 -l Generate per-job latency logs
20 -w Generate per-job bandwidth logs
7dd1389e 21 -f <file> Read <file> for job descriptions
e709787c 22
e709787c
JA
23The <jobs> format is as follows:
24
fe74f555 25 directory=x Use 'x' as the top level directory for storing files
d2d598b2 26 rw=x 'x' may be: read, randread, write, or randwrite
e8403a9c 27 overwrite=x If 'x', layout a write file first.
e709787c
JA
28 prio=x Run io at prio X, 0-7 is the kernel allowed range
29 prioclass=x Run io at prio class X
30 file=foo Do the io to file foo
8c033f93 31 bs=x Thread blocksize is x bytes
7889f07b 32 bsrange=x-y Mix thread block sizes randomly between x and y
e709787c 33 direct=x 1 for direct IO, 0 for buffered IO
e97712ed 34 thinktime=x "Think" x usec after each io
86184d14 35 rate=x Throttle rate to x KiB/sec
4240cfa1
JA
36 ratemin=x Quit if rate of x KiB/sec can't be met
37 ratecycle=x ratemin averaged over x msecs
18e0b78c 38 cpumask=x Allow job to run on CPUs defined by mask
4240cfa1 39 fsync=x If writing, fsync after every x blocks have been written
fc24389f 40 startdelay=x Start this thread x seconds after startup
67903a2e 41 timeout=x Terminate x seconds after startup
43000118
JA
42 aio Use Linux async io
43 aio_depth=x Allow x iocbs in flight
02983297
JA
44 size=x Set file size to x bytes (x string can include k/m/g)
45 offset=x Start io at offset x (x string can include k/m/g)
b95799ca 46 invalidate=x Invalidate page cache for file prior to doing io
74b4b5fb 47 sync=x Use sync writes if x and writing
99c6704f 48 mem=x If x == malloc, use malloc for buffers. If x == shm,
891e70f8 49 use shm for buffers. If x == mmap, use anon mmap.
98dd52d6 50 exitall When one thread quits, terminate the others
1d035750 51 bwavgtime=x Average bandwidth stats over x msec
b6794fbf
JA
52 create_serialize=x If 'x', serialize file creation.
53 create_fsync=x If 'x', run fsync() after file creation.
54 loops=x Run the job 'x' number of times.
7f46ef08
JA
55 verify=x If 'x' == md5, use md5 for verifies. If 'x' == crc32,
56 use crc32 for verifies.
2a81240d 57 stonewall Wait for preceeding jobs to end before running.
fe74f555 58 numjobs=x Create 'x' similar entries for this job
6e2c38cc 59 mmap=x If 'x', use mmap for data transfers
e709787c
JA
60
61
7dd1389e
JA
62Examples using a job file
63-------------------------
64
65A sample job file doing the same as above would look like this:
66
67[read_file]
68rw=0
69bs=4096
70
71[write_file]
72rw=1
73bs=16384
74
75And fio would be invoked as:
76
77$ fio -o1 -s -f file_with_above
78
79The second example would look like this:
80
81[rf1]
82rw=0
83prio=6
84
85[rf2]
86rw=0
87prio=3
88
89[rf3]
90rw=0
91prio=0
92direct=1
93
94And fio would be invoked as:
95
96$ fio -o0 -s -b4096 -f file_with_above
97
47d45203
JA
98'global' is a reserved keyword. When used as the filename, it sets the
99default options for the threads following that section. It is possible
100to have more than one global section in the file, as it only affects
101subsequent jobs.
ed864e24
JA
102
103Also see the examples/ dir for sample job files.
47d45203 104