Commit | Line | Data |
---|---|---|
e709787c JA |
1 | fio |
2 | --- | |
3 | ||
4 | fio is a tool that will spawn a number of thread doing a particular | |
5 | type of io action as specified by the user. fio takes a number of | |
6 | global parameters, each inherited by the thread unless otherwise | |
7 | parameters given to them overriding that setting is given. | |
8 | ||
9 | Options | |
10 | ------- | |
11 | ||
12 | $ fio | |
13 | -s IO is sequential | |
14 | -b block size in bytes for each io | |
15 | -t <sec> Runtime in seconds | |
16 | -w Write statistics | |
17 | -r For random io, sequence must be repeatable | |
18 | -o <on> Use direct IO is 1, buffered if 0 | |
19 | ||
20 | <jobs> | |
21 | ||
22 | The <jobs> format is as follows: | |
23 | ||
24 | rw=0/1 0 is read, 1 is write | |
25 | prio=x Run io at prio X, 0-7 is the kernel allowed range | |
26 | prioclass=x Run io at prio class X | |
27 | file=foo Do the io to file foo | |
28 | bs=x Thread blocksize is x bytes | |
29 | direct=x 1 for direct IO, 0 for buffered IO | |
30 | delay=x Delay x useconds before each io | |
31 | random IO is randomized | |
32 | sequential IO is sequential | |
33 | ||
34 | ||
35 | Examples | |
36 | -------- | |
37 | ||
38 | Spawn 2 threads, one read and one writer. Both threads want direct and | |
39 | sequential io, set these as global options. The reader wants a 4kb block | |
40 | size and the writer a 16kb block size, set those as thread options. | |
41 | ||
42 | $ fio -o1 -s "{rw=0,file=read_file,bs=4096}" "{rw=1,file=write_file,bs=16384}" | |
43 | ||
44 | Spawn 3 reader threads doing io at priorities 0, 3, and 6. The highest | |
45 | prio thread wants direct io, the others buffered. All want a 4kb block | |
46 | size. | |
47 | ||
48 | $ fio -o0 -s -b4096 "{rw=0,file=rf1,prio=6}" "{rw=0,file=rf2,prio=3}" "{rw=0,file=rf3,prio=0,direct=1}" | |
49 |