DiskTester 2.0 User Manual

Last updated: 22 April, 2006
© 2003-2006 diglloyd, Inc.  All Rights Reserved.

Skip to Setup

Table of Contents

Legal and and contact

Setup

Introduction
     Performance and reliability testing guidelines
     Conventions used in this document
          DiskTester
          Text Style

Usage hints
     A note on bugs
     Common mistakes
     Activity Monitor
     Using DiskTester in Terminal
     Stopping a Test
     Getting help

Command Reference
     Abbreviations and units
     Table of commands
          show-info
          run-area-test
          run-sequential
          run-sequential-suite
          run-random
          run-async-test
          test-reliability
          create-hierarchy-template
          create-hierarchy
          create-files
          read-files
          help
     Table of command options

Changes in version 2.0

Command Syntax Primer

Example output

Legal and contact

Distribution or copying without the express written permission of diglloyd, Inc is prohibited.  No warranty, either express or implied is given and you use this program entirely at your own risk.  Please read the License Agreement.   For inquiries regarding licensing disktester, please see http://diglloyd.com/diglloyd/software/index.html.

Email contact: software@diglloyd.com

Please include “disktester inquiry” in the subject of your email (click on the email link just above).  Due to a large volume of spam, messages may be inadvertently ignored without an appropriate subject.


Setup

DiskTester is a Universal Binary, and will run on either PowerPC-based Macs or Intel-based Macs.

Mounting the install volume

If you’re reading this file from the installation volume, you’ve already done this step. Skip to Step by Step below, or if you prefer, you can perform the installation manually.

Double-click the “DiskTester.dmg” file to cause it to be mounted as a volume icon on your desktop. An icon should appear on your desktop that looka like this:

DiskTester volume icon

Step by step

1. Open a Terminal window. Terminal is found in the Utilities folder within the Applications folder (/Application/Utilities). You will see something like the following:

Last login: Sun May 7 11:37:37 on ttyp1
Welcome to Darwin!
llcG5:~ lloyd$

2. Type the commands shown in blue:

llcG5:~ lloyd$ cd /Volumes/DiskTester_Install/
llcG5:/Volumes/DiskTester_Install lloyd$ sh install.sh

You should see output similar to this:

llcG5:/Volumes/DiskTester_Install lloyd$ cd /Volumes/DiskTester_Install/
llcG5:/Volumes/DiskTester_Install lloyd$ sh install.sh
Installing DiskTester...

*** Done.  DiskTester ('disktester') is now ready to use. ***

DiskTester 2.0 (C) 2003-2006 diglloyd, Inc. All Rights Reserved

Available commands:
show-info                  show information about one or more volumes
run-area-test              test sequential speed across a volume
run-sequential             test sequential speed for a specific chunk size
run-sequential-suite       test sequential speed for a range of chunk sizes
run-random                 test random speed for a specific chunk size
run-async-test             perform asynchcronous multi-threaded I/O
test-reliability           test the reliability of a volume
create-hierarchy-template  scan volumes/files/folders and write a
                              template file for use with 'create-hierarchy'
create-hierarchy           create a file hierarchy using a template file
                              created by 'create-hierarchy-template'
create-files               create files of a specified size
read-files                 read specified folders(s) or volume(s) as fast as possible
help                       display usage and examples for the available commands

To see examples for a specific command, use
"disktester help <cmd-name>" where <cmd-name> is the name of the command.
To see detailed help for all commands, use 'help all'

3. After step 2, you may begin using DiskTester (disktester). Assuming you have a volume named “Macintosh HD”, try:

llcG5:~ lloyd$ disktester run-area-test "Macintosh HD"

Manual installation

1. Drag the “DiskTester” folder (found inside “install-items”) anywhere on your hard disk.

Uninstalling

The automated install performs the following actions:

  • create a folder “diglloyd” inside /Applications/Utilities;
  • creates a “DiskTester” folder inside “diglloyd”;
  • adds a single line to “.bash_profile” in your home directory.

1. Drag the /Applications/Utilities/diglloyd/DiskTester folder into the trash (if DiskTester is the only diglloyd program you have installed, you can drag the /Applications/Utilities/diglloyd folder into the trash instead).

2. [Optional, not required]. Remove the following line from your “.bash_profile” file:

export PATH=/Applications/Utilities/diglloyd/disktester:...


Introduction

If you’re a DiskTester 1.0 user, please see Version 2.0 changes.

DiskTester (“disktester” as the command-line name as used in Terminal) tests disk performance on Mac OS 10.3 through 10.4 (It might work on 10.2, but has not been tested).  It measures the combined performance of a volume and the Mac OS X operating system.   Some test utilities bypass the operating system and test a disk directly; this is not as realistic because real programs use the operating system to read and write files; they do not read and write directly to the hard disk.   Situations in which you might want to use DiskTester include:

  • comparing the performance of one hard disk to another;
  • comparing the performance of one or more brands of FireWire, Serial ATA, USB or SCSI cards/ports;
  • obtaining objective data on  RAID performance;
  • obtaining performance data for tuning your own program's disk access patterns;
  • verifying the reliability of a volume, especially large RAID sets.
  • getting information on your volumes.
DiskTester is a Terminal application (command line executable).  Using it requires using Mac OS X Terminal.   There is currently no GUI version available. The author feels that a GUI, while providing interesting eye-candy, would provide no useful new functionality, while requiring considerably more development and testing.

DiskTester uses the Mac OS X file system calls for its testing.  No direct driver access is performed.  For this reason, you can expect that DiskTester’s results are real-world numbers achievable by any competently-implemented Mac OS X program.

DiskTester uses no special system privileges, no kernel extensions, etc: it cannot crash your system by itself, though it can provoke an underlying hardware or software problem, which is one of its useful features, as distressing as a system crash can be.

Performance and reliability testing guidelines

The following guidelines apply to hard drives in general, but are of particular importance with RAID configurations.

Don’t assume all similarly specified hard drives will perform equivalently

Take 3 drives from 3 vendors, all of which are 7200rpm with a 16MB-buffer.   Test them singly and in a striped RAID configuration and you’ll often find that there are distinct performance differences. It is best to seek out expert advice which tested in a manner similar to your intended usage.  General benchmarks from generic testing sites are often worthless for determining actual performance with your particular hardware and software, providing little more applicability to your particular purpose than a specification sheet would have provided. 

Factors that can influence performance include:

  • the drive itself, including its firmware version, and the specific model used;
  • amount of system RAM;
  • amount of free space on the volume;
  • the area of the volume being tested;
  • random vs sequential access;
  • size of the data transfer your application(s) typically use;
  • the type of interface (IDE vs SATA);
  • whether Port Multiplication or direct connect is used (SATA);
  • the host machine and the type of slot used (eg PCI vs PCI-X vs PCI-Express)
  • the host adapter used;
  • cable length and/or electrical interference, low-quality power, etc;
  • other programs that are running, including invisible background programs such as SpotLight;
  • anti-virus software.

This is not an exhaustive list, but it should serve to illustrate that getting top performance from any particular setup is not something you can be assured of from a generic review of a hard disk.

There are some sites that do a particularly good job of characterizing performance.  Here are two of my favorites when it comes to high-performance RAID systems:

Don’t assume a device is reliable until you’ve tested it

Multiple factors can induce flaky performance in a disk subsystem.  These include:

  • firmware bugs in the host adapter or drive(s);
  • mismatched hard drives in a RAID array;
  • unshielded or damaged cables;
  • poor-quality power supply.

Use DiskTester’s test-reliability command to verify that your volumes are reliable (including network volumes).

Do not assume your disk/volume is reliable before using it for “production”.  Always have a recent backup.  The most troublesome type of failures are intermittent failures, which are difficult to detect except with the help of programs like IntegrityChecker.  Though rare, intermittent failures are particularly insidious, because they can alter data without being detected. Bad data then gets backed up, replicating the damage.

There are outright hardware failures such as a disk drive just “going south”.  The author recently had a 1-month-old hard drive fail abruptly.  It was part of a 3-drive striped RAID—all the data was lost.   Fortunately, multiple redundant and recent backups existed, so only a few hours work was lost.


Conventions used in this document

DiskTester

When referring to the program as a product, it is written “DiskTester”.  When referring to it as the command typed when invoking it, it is written “disktester”.  Entering “DiskTester” as the command name in Terminal will work when you have formatted the MacOS X volume with a case-insensitive file system (the default).  Still, it’s better to get in the habit of typing it correctly (all lower-case).

Text style

All commands and output as typed or viewed in Terminal while using DiskTester are shown in a fixed-width font.  Commands that you are to enter are additionally shown like this.

For example, in the command shown below, “[llcG5:~] lloyd” is the command prompt (waiting for you, the user, to enter a command), and the text to be entered by the user is “ cd /Applications”.

[llcG5:~] lloyd% cd /Applications


Usage hints

This section describes using DiskTester.

A note on bugs

There were no reported bugs in DiskTester 1.0.  If you think you have found a bug in DiskTester 2.0, please report it

DiskTester never opens your files in anything but “read only” mode.  By itself, it cannot change, modify or corrupt your files.   Certain tests, such as run-area-test do create a temporary file into which data is written, but existing files are always opened read-only.

Common mistakes

Spaces in a volume name

The most common user error occurs when testing a volume with a name that contains a space character.  If the volume name contains a space character, you must enclose it in straight quotes.  Failure to enclose the volume name in quotes causes the Terminal shell to break the name up into multiple arguments.  For example, suppose you want to test the volume “My Fast Volume”.  You would enter the command below using quotes around the volume name:

[llcG5:/] lloyd% disktester run-area-test "My Fast Volume"

If you mistakenly forget the quotes, you will get an error:

llcG5:/ lloyd$ disktester run-area-test My Fast Volume
DiskTester 2.0 (C) 2003-2006 diglloyd, Inc. All Rights Reserved

ERROR: illegal command usage [-40000], msg = "Wrong number of operands for command run-area-test (exactly one operand required [3 supplied])"

The error occurs because the volume name "My Fast Volume" would be delivered to DiskTester as three arguments: "My", "Fast", and "Volume" instead of simply "My Fast Volume".  Working with command lines is more of a hassle when spaces are used; many advanced users do not use spaces in file names for this reason.

Running other programs while testing

The DiskTester commands intended for determining maximum hard disk performance, such as the run-area-test command, can be affected by other programs if they access the disk being tested (or in some cases even if non-test disks are accessed).  Other programs also consume memory—which might mean that MacOS will be forced to use virtual memory, which can cause disk access and erratic results while testing.

For these reasons, you should run performance-oriented tests only after quitting other applications, and making sure “background” programs like Apple’s SpotLight are not indexing the disk during the test (System Preferences => SpotLight => Privacy).  It is best to add the volume being tested to the Privacy list in SpotLight.

Activity Monitor

Activity Viewer (Applications => Utilities => Activity Monitor ) can be a helpful tool to observe system activity, and it won’t affect DiskTester results. The most useful items are the “%CPU” column (click on it to sort by max/min CPU usage), the “Disk Activity” tab, and the “CPU Monitor” window.  When you start Activity Monitor, use the “Window” menu to show the windows seen below:

Activity Viewer

Using DiskTester in Terminal

DiskTester is supplied as a command-line utility named “disktester” (not “DiskTester”), which must be run in a Terminal window (Applications => Utilities => Terminal).

You might want to add disktester to your “path”, but the simplest approach is run it from the directory in which it resides.

To do this, change to the directory in which you installed DiskTester (using the “cd” command).  When running DiskTester, add “./” in front of “disktester”.   The “./” tells Terminal to “look only in the current directory for the 'disktester' command.

For example, suppose DiskTester is in your Applications => Utilities folder and you want to run the run-area-test command on your volume “RAID”.  You would enter the following commands:

[llcG5:Dev/CodingX/DiskTester] lloyd% cd /Applications/Utilities
[llcG5:Dev/CodingX/DiskTester] lloyd% disktester run-area-test RAID

DiskTester will start running:

llcG5:~ lloyd$ cd /Applications/Utilities/
llcG5:/Applications/Utilities lloyd$ disktester run-area-test RAID
DiskTester 2.0 (C) 2003-2006 diglloyd, Inc. All Rights Reserved

=> Allocating maximum size contiguous file on "RAID" (8.00GB)...7.90GB (98.8% of volume size)
=> Using test size of 256MB, 1MB at a time, across a 7.90GB test file.
... test continues ...

Stopping a test

To stop an in-progress test, use control-c (you must be in the Terminal window with the running disktester process).  Hold down the control key and press 'c'.   The control key is the key labelled “control” on the standard Apple US keyboard; it’s right next to the “option” key.

A control-c sends a “signal” to disktester that it needs to quit.  You should immediately see a message similar to this one:

Caught signal: 2
If program does not quit it may be due to outstanding I/O; use ctrl-z and then 'kill -9' on the process ID

In most cases, disktester will quit within a second or two, though it might take longer with certain tests and/or very large chunk sizes.

If you do not see something like the above immediately (ie nothing at all), it means that disktester has “hung”, typically within a MacOS file-manager call.  DiskTester no longer has control and isn’t running in the sense that it is waiting for a request to finish and no longer has any control over what happens.   This can be caused by hardware problems of various kinds, such as a bad cable, driver bug, bad drive, etc.  It could also be caused by an operating system bug (rare) or driver bug or hardware bug.  In such cases, disktester typically is using 0% CPU time (you can check using Activity  Monitor).

If DiskTester has not responded to control-c, you can try control-z, which means “stop the process (disktester) from running”.  Always try control-c first!  After typing control-z, you should see something like the following:

^Z
[1]+ Stopped disktester run-async-test Stripe

Now you can attempt to kill the running 'disktester' process.  The “kill” command means what it says: the “-9” part means to do it with no warning to the program, and the “%1” part means “job number 1”:

llcG5:/Applications/Utilities lloyd$ kill -9 %1

[1]+ Stopped /disktester run-async-test X8

What the above output is saying is that the program is stopped; sometimes it can’t actually be killed until it is told to run again (after issuing the “kill” command).  Use the “fg” command to do this.  If successful, you’ll see something like the following:

llcG5:/Volumes/MasterQuad/MasterData/Coding/DiskTester lloyd$ fg
-bash: fg: job has terminated
[1]+ Killed /disktester run-async-test X8

If none of the above works, you can try waiting a minute or so to see if there is any change (unlikely); if not it’s “pull the power plug” time. But first, if possible, save any unsaved files and quit open programs.  (This may or may not be possible for some programs if a hardware bug is in progress). Then pull the plugcle

Getting Help

Invoking DiskTester in the above manner will emit the output shown below. (If the lines wrap-around in Terminal, make the window wider for better readability).

llcG5:~ lloyd$ disktester
DiskTester 2.0 (C) 2003-2006 diglloyd, Inc. All Rights Reserved

Available commands:
show-info                  show information about one or more volumes
run-area-test              test sequential speed across a volume
run-sequential             test sequential speed for a specific chunk size
run-sequential-suite       test sequential speed for a range of chunk sizes
run-random                 test random speed for a specific chunk size
run-async-test             perform asynchcronous multi-threaded I/O
test-reliability           test the reliability of a volume
create-hierarchy-template  scan volumes/files/folders and write a
                               template file for use with 'create-hierarchy'
create-hierarchy           create a file hierarchy using a template file
                               created by 'create-hierarchy-template'
create-files               create files of a specified size
read-files                 read specified folders(s) or volume(s) as
                              fast as possible
help                       display usage and examples for the available commands

To see examples for a specific command,
use "disktester help <cmd-name>" where <cmd-name> is the name of the command.
To see detailed help for all commands, use 'help all'

To get help on a particular command, use the 'help' command:

llcG5:/ lloyd$ disktester help run-area-test

The output will look like this. If that is hard to understand, please see the Command Syntax Primer.

llcG5:~ lloyd$ disktester help run-area-test
DiskTester 2.0 (C) 2003-2006 diglloyd, Inc. All Rights Reserved

SUMMARY

run-area-test: test sequential speed across a volume

SYNTAX

run-area-test
    [--output-level|-l <terse|normal|verbose[+log]>]        "normal"
    [--iterations|-i <count>]                               "1"
    [--chunk-size|-c <size[K|M|G|T]>]                       "4M"
    [--test-size|-t <size[K|M|G|T]|max>]                    "512M"
    [--delta-percent|-p <percent>]                          "10%"
    <volume-name>

EXAMPLES

disktester run-area-test X8

disktester run-area-test --chunk-size 32M --delta-percent 10 --iterations 3 X8


Command "help" executed in 0.01 seconds.

Command reference

This section describes all available commands, their syntax, and usage.

Abbreviations and  units
Table of commands
Table Of Command Options

Abbreviations and units

Abbreviations available for conveniently specifying quantities and positions are shown in the table below. Please note that DiskTester considers one Kilobyte to be 1024 bytes, not 1000 bytes.   A Megabyte is 1024 Kilobytes, etc.  All rates shown in DiskTester results are calculated using these units.

Abbreviation Megabytes
b bytes
K, KB kilobyte (1024 bytes)
M, MB megabytes (1024 kilobytes = 1024 X 1024 bytes)
G, GB gigabytes (1024 megabytes = 1024 X 1024 X 1024 bytes)
T, TB terabytes (1024 terabytes = 1024 X 1024 X 1024 X 1024 bytes)
max maximum size (--test-size option only)
start, middle, end test areas of 0%, 50%, 100% (--test-area option only)

Table of commands

In the table below, click on the “Examples” link to see the results from the example command(s).

NOTE: all disktester commands bypass the MacOS X file system cache.  Test timings and rates are always real throughput to the disk(s)/volume. However, large caches on some disks, especially striped RAID volums can hav very large caches necessitating relatively large test sizes. For example, an 8-way strip of disks each having a 16MB cache means that 128MB of cache memory is present. As a rule of thumb, use a test size that is at least 8 times larger than the total size of the disk caches, with 16 or 32 times preferred for the most consistent results.

Command Discussion
run-area-test

Run a test of speed on various areas of the disk.  The default delta-percent is 10%.

This test is designed to determine the performance from the outer to the inner tracks of the volume; the sustained transfer rate of most drives declines to as little as 50% of the maximum speed from the outer to the inner tracks.

For accurate results, erase the volume just prior to the test.   If the volume is partially full, the results are influenced by how much is on the volume and where it is stored, and thus won't give an accurate picture of the potential speed of the volume.   In particular, Mac OS X tends to fill up the fastest part of the drive first, so testing any partially-full volume yields results that are slower than the volume’s maximum speed.

Examples:

disktester run-area-test MyVolume

disktester run-area-test --chunk-size 1M
--iterations 5 --delta-percent 10 --test-size max MyVolume

run-sequential

Run a sequential write/read test of a single size only.  This command is helpful to get a very quick idea of drive performance.   You might use it first, then use run-area-test for a more complete picture.

Examples:

disktester run-sequential MyVolume

disktester run-sequential --iterations 2
--chunk-size 32M --test-size 8G --test-area start MyVolume

run-sequential-suite Run a suite of sequential write/read tests in which the chunk size is varied from small to large. Really small chunk sizes (4K, 8K, etc) are much slower than larger ones on most drives. However, by 128K chunks or so, fast drives with 8MB or 16MB caches generally have reached maximum speed.

Examples:

disktester run-sequential-suite MyVolume

disktester run-sequential --starting-chunk-size 1M --ending-chunk-size 128M
--iterations 5 --test-size 4G --test-area start MyVolume

run-random Run a test of random write/read performance.  Random performance is primarily a function of disk latency and seek times, so a test size of “max” is best, forcing the greatest amount of drive seeking.  Small test sizes exhibit behavior more like a sequential test.  The default transfer size is 4K.

Examples:

disktester run-random --num-io 4000 MyVolume

disktester run-random --test-size max
MyVolume

run-async-test

This test is designed to stress the ability of the driver and disk subsystem to deal with a high number of asynchronous I/O calls.  Strictly speaking, the calls are not asynchronous; they are made using synchronous calls from within preemptive tasks.  No are they made at interrupt time.

Small test sizes (such as 4 megabytes) are appropriate for this command, because large test sizes with many simultaneous I/Os tend to cause a lot of disk seeks, which greatly degrade throughput.

The --max-requests option is the maximum number of outstanding I/O requests at any one time; for example, specifying --max-pending 64 will cause disktester to create 64 threads, each using its own test file.

Examples:

disktester run-async-test Stripe

disktester run-async-test --test-size 4M --max-requests 64 Stripe

test-reliability

Run a series of tests designed to check whether there are any data transfer errors.  It is usually best to allow this test to run for 1 to 24 hours to detect sporadic problems. It should usually be run specifying the largest possible test size eg “--test-size max” so as to test all area of the volume.

You might want to run a quick test with --test-size 1G.   If that 1GB test shows no issues, then try --test-size max with as many iterations as you have patience for.   Of course, you can also specify --iterations 1000 (which might take weeks to complete), and then just stop the test when desired.

You might see errors with some transfer sizes and not others, though in the year 2006 most disk drivers and firmware work correctly; in years past some would fail as the transfer size became larger.

If the errors are actually hardware errors, different transfer sizes may provoke errors whereas driver/firmware bugs typically cause failure in the same way, every time.  Hardware errors (including memory problems) can be sporadic, and can be maddeningly difficult to track down.

If you get an error once, but have trouble getting it again, that doesn't mean it won't happen again.  Such a situation is problematic, but at least you are forewarned that there may be future problems.

Examples:

disktester test-reliability MyVolume

disktester test-reliability --iterations 100
--test-size max --chunk-size 32M --pattern random MyVolume

show-info

Show information about a volume or volumes.  When no volumes are specified, information about all volumes is shown. Otherwise, information about the specified volumes is shown.

Examples:

disktester show-info

disktester show-info "MacintoshHD" RAID

create-hierarchy-template

Create a small template file which describes the folder structure and the files contained within it, including the sizes of the data and resource forks for each file. The entire hierarchy can be reconstructed using this template file using create-hierarchy.

Examples:

disktester create-hierarchy-template Stripe

create-hierarchy This is useful for reconstructing an exact duplicate of a previous file so that the same test can be performed on different volumes or machines.  Of course, the data contained in the created files

Examples:

disktester create-hierarchy --pattern 0 --template-file Stripe.template TestVolume

create-files Create a number of files of the specified size. This command can be used as a speed test of its own accord, and can also be used in conjunction with the read-files command.

Examples:

disktester create-files --num-files 10000 --file-size 10M TestVolume

read-files

Read all specified files. More than one volume may be specified and/or multiple folders.

This command is useful for comparing read speed on different volumes.  Using the create-hierarchy-template and create-hierarchy commands allows a test protocol that can record, and later reconstruct, an exact duplicate (in terms of file sizes) of all the files recorded into the template file.  You could also use the create-files command for a similar protocol.

Examples:

disktester read-files Stripe

disktester read-files /Applications /Users

help

Displays help.

The command "disktester help" yields a list of available commands.

The command "disktester help all " yields helps for all commands.

The command "disktester help <cmd-name>" yields helps for the command "cmd-name".

Examples:

disktester help

disktester help run-area-test

 

Table of command options

Each option has a long name, which must be prefixed by "--", and a short name, which must be a single "-" followed by a letter.  Please see Appendix A —Command syntax explained for details on syntax.

Command Discussion
--output-level | -l terse|normal|verbose[+log]

Default value: “normal

Controls the amount of output while running the test.

The "+log" suffix causes all output, regardless of level, to be written to a log file in “diglloyd-logs” in the home directory eg:

~/diglloyd-logs/disktester.log

The log file includes a date, and can be useful for later reference.

--iterations | -i <count>

Default value: 1

Repeat the test the specified number of times.  By default, only a single iteration is performed.  It is best to use at least 3 iterations for reliable results.

--allow-fs-caching | -c

Default value: off

This is a boolean option; if specified it is implicitly true, if not specified, it is false.

If specified, enables the operating system file caching mechanism.  Can have a huge influence on test results, particularly for small transfer sizes.  To test the raw speed of a volume

--test-size | -t
<size[K|M|G|T]|max>]

Default value: 32 megabytes (32M)

Controls the size of the test.  This number can be as large as the entire volume (denoted by “max”).  The most realistic results generally require values of several gigabytes or more; smaller sizes may or may not provide values that realistically reflect the performance for larger operations.

The sizes may include a suffix of b/K/M/G for bytes, kilobytes, megabytes, gigabytes.  A 32 gigabyte test size would be specified as:

--test-size 32G

--chunk-size | -T <size[K|M|G|T]>

Default value: 1 megabyte (1M)

Controls the size of the transfer made each time a write or read to disk is performed. 

--starting-chunk-size | -s <size[K|M|G|T]>

--ending-chunk-size | -e <size[K|M|G|T]>

 

Default value: 512 megabytes (512M)

Controls at what size transfer to end the test suite.

[run-sequential-suite command only)

--test-area | -a <start|middle|end|xx%>

Default value: “start”

[run-sequential and run-sequential-suite commands only]
Controls what portion of the volume is used to perform the test.

--delta-percent | -p <percent>

Default value: 10%

[run-area-test command only]  Controls the size of the "steps" across the volume.

--pattern <0|1|01|10|random|any>

Default value: all patterns or all zeroes

Without the --pattern option, the default will be all patterns (test-reliability), or all zeroes (create-files, create-hierarchy).

With the pattern option, exactly one pattern may be specified.

--num-random | -n <count>

Default value: 4000

Specifies the number of writes and reads to make during the test. Small numbers do not provide reliable results, due to caching on the drive itself.

[run-random command only]

--max-requests | -m <count>

Default value: 16

Specifies the maximum number of outstanding I/O requests for the run-async-test command.

[--duration|-d <<num>[S|M|H]> Duration should be specified using a time unit. Use "S" for seconds, "M" for minutes and "H" for hours. If no units are specified, seconds are assumed.

Changes in version 2.0 from version 1.0

DiskTester 2.0 is a major revision from version 1.0.   This section describes the changes and additions made.

Back to top