1zcav(8) System Manager's Manual zcav(8)
2
3
4
6 zcav - program to test raw hard drive throughput.
7
8
10 zcav [-b block-size[:chunk-size]] [-c count] [-r
11 [first-block]:last-block] [-w] [-s skip-rate] [-u
12 uid-to-use:gid-to-use] [-g gid-to-use] [-l log-file] [-f] file-name [-l
13 log-file [-f] file-name]...
14
15
17 This manual page documents briefly the zcav, program.
18
19 Modern hard drives have a constant rotational speed but have varying
20 numbers of sectors per track (outside tracks are longer and have more
21 sectors). This is referred to as Zoned Constant Angular Velocity (or
22 ZCAV). The outer tracks will have a higher data transfer rate due to
23 having more sectors per track, these tracks generally have the lower
24 track/sector numbers.
25
26 This program tests the ZCAV performance of a hard drive, by reading the
27 entire data on it a specified number of times. The file name given as
28 the first parameter, it can be specified as -, for standard input. This
29 file will be opened as read-only and in usual operation it will be
30 /dev/hdX or /dev/ide/host0/busX/targetY/lun0/disc depending on whether
31 you use devfs or not (NB operating systems other than Linux will have
32 different device names).
33
34 The output should be able to be easily graphed with gnuplot which is
35 what I use to view the results.
36
37
39 -b the size (in Meg) of the blocks to read/write (default 100M),
40 optionally followed by a ':' and the chunk size for read/write
41 operations (default 1M). Note that the chunk size must be less
42 than or equal to the block size and must also be significantly
43 less than the size of the RAM in the machine. Also note that
44 for the write test there will be a fsync() after writing every
45 chunk.
46
47
48 -c the number of times to read/write the entire disk.
49
50
51 -r the range of data (in Meg) to read/write on each pass (default
52 the entire device). Useful if you want to quickly test part of
53 a large drive. If a single number is given then that is the
54 last block to read, if two numbers then it's the start and end
55 of a range. Values are in megs, but they are rounded down to
56 the block size.
57
58
59 -s skip rate. The option -s 10 will cause it to read every 10th
60 block and skip the rest.
61
62
63 -f the file-name for the input data. This isn't needed on well con‐
64 figured systems that have a recent Glibc where you can specify
65 the file name without the -f flag.
66
67
68 -u user-id to use. When running as root specify the UID to run the
69 tests as, it is not recommended to use root, so if you want to
70 run as root use -u root. Also if you want to specify the group
71 to run as then use the user:group format. If you specify a user
72 by name but no group then the primary group of that user will be
73 chosen. If you specify a user by number and no group then the
74 group will be nogroup.
75
76
77 -g group-id to use. Same as using :group for the -u parameter,
78 just a different way to specify it for compatibility with other
79 programs.
80
81
82 -w write zero blocks to the disk instead of reading from the disk -
83 will destroy data!
84
85
87 This program, it's manual page, and the Debian package were written by
88 Russell Coker <russell@coker.com.au>.
89
90
92 The source is available from http://www.coker.com.au/bonnie++ .
93
94 See http://etbe.coker.com.au/category/benchmark for further informa‐
95 tion.
96
97
98
99 zcav(8)