vdt - visual disk test
vdt [-options]
vdt performs i/o tests on files, logical volumes, partitions or whole disks.
vdt offers various disk addressing patterns and test area selections.
basic parameters:
-b size alternate i/o buffer size -f filename use this file for read/write tests -m number maximum number of iterations per test -p percent test area = given % of testsize -r filename use this input file for read-only tests -s stripes split test area in given # of stripes -w filename use this output file for write-only tests -z testsize test area = just this much (default=whole file)
basic tests:
--read read test (Bunch_of_Sectors at a time) --sect i/o just a single (512-Byte) sector at a time --seek seek test (same as '--read --sect') --writ write test (B.o.S. at a time)
compound tests:
--aver ratify test (write, read back, compare) --blot update test (read, stain, write back) --comp comparison test (B.o.S. at a time) --cool freshen test (read, write back) --copy copy test (B.o.S. at a time) --mess shuffle test (read, write somewhere else)
stress tests:
--burn burn (read/write) test (all addressing modes) --cook cook (read-only) test (all addressing modes)
addressing patterns:
--incr incrementing addresses (start to end) --decr decrementing addresses (end to start) --conv converging addresses (edges to middle) --scat scattering addresses (middle to edges) --gold 'diamond'-pattern (middle to edges and back) --spot 'X'-pattern (edges to middle and back) --rand random addresses
region location:
--edge --head and --tail combined --head select initial portion of test area (default) --core select central portion of test area --tail select final portion of test area --slab --edge and --core combined
operation flags:
--even divide test area proportionally --flip invert selection of test area --full random seek within B.o.S. --help show this usage help --once same as --uniq --sync synchronous (blocking) output --uniq test each and every random address just once --wait request user interaction to finish
extra parameters:
-l lines override screen's # of lines -c columns ditto for columns
Without any options, vdt gives a minimal help message.
vdt.log vdt's log file
/dev General Unix/Linux device interface /tmp General Unix/Linux temporary stuff
Example 1: basic read test from start to end of a file
$ vdt -r <filename> --read --incr
TERM The value of the TERM environment variable may affect the output of `vdt'.
VDT Optionally used to automate initialization of flags and/or parameters.
The following exit values are returned:
0 No errors of any kind.
>0 An error occurred.
EACCES Permission denied (POSIX.1)
Search permission is denied for a component of the path prefix of a given <pathname>.
ENOTTY Inappropriate I/O control operation (POSIX.1)
The type of the file or device being tested is not suitable (eg. chosing a block device instead of a raw device).
df(1)
, mount(1)
, iostat(1)
.
Ordinarily, vdt does not require `root' privileges or SUID file permissions in order to operate on regular files.
On some operating systems, the logical sector size may be greater than 512 bytes.
When the test subject is big enough while available memory not so, enlarging the screen window may avoid buffer allocation failures.
In the event of a failure to detect the actual disk/partition size, providing an explicit test area size (by means of '-z') may circumvent the problem.
On FreeBSD-7-x86 and Solaris-10-x86_64, using the default 24x80 screen leads to a miscalculation of available columns; the workaround is (if possible) to manually enlarge the screen window horizontally by at least one column.
A screen with less than 24 lines results in garbled output.
Not all possibly harmfull combinations of flags are prevented.
The original and current versions of `vdt' consist of code and documentation written by:
Alexandre Botao http://botao.org botao@unix.sh botao@linux.sh alexandre@botao.org
Copyright 2010 Alexandre Botao
`vdt' is `Free Open Source' (fos) software , and is licensed under the GNU GENERAL PUBLIC LICENSE Version 3 (the "License");
You may not use `vdt' except in compliance with the License. You may obtain a copy of the License at
http://www.gnu.org/licenses/
Additionally, a copy of the License is distributed along with `vdt' in a file called 'LICENSE';
Commercial support is NOT available for `vdt'. Suggestions and/or bug reports are very welcome.
`vdt' is distributed on an ``AS IS'' basis, WITHOUT ANY WARRANTY OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.