Table of Contents
\\\\\\\\\\\\\ ZeST ///////////// This is a pretty straight forward program for those experienced with the command line and text-based interfaces. \\\\\\\\\\\\\ Compiling & Installing ///////////// You have GCC right? Well you should. You should also have curses. Actually, any C compiler on a POSIX system should work just fine. I didn't code anything too weird into ZeST thus making it portable between all POSIX compatibile systems (except cygwin, damnit). To compile and install all you have to do is make make install Actually, that's not true. All you have to do to compile and install is run make install. There is a man page that is included and added to your man pages when you install. Aren't I thoughtful? \\\\\\\\\\\\\ Uninstalling ///////////// This might blow your mind, but there it goes. In the directory where you unpacked the tar ball. Running make uninstall will remove ZeST from your system. I'll leave you to collect the remnants of your deflagrated mind. \\\\\\\\\\\\\ Running ///////////// Really not all that much to running. Arrow keys (up and down) scroll through the process on the screen if you ran more processes than you have screen lines. Page Up and Page Down jump 15 lines rather than one. Press Q to prompt for quitting. \\\\\\\\\\\\\ Bugs and Requests ///////////// I'm sure there are many. I know of a few already actually. If you actually are using my program and need some fixes done or have some feature requests email me at zashi (at) vay8 (dot) net
ZeST - Zashi's excellent Stress Tool -or- Zero error System Tester
zest < -p <proccess> -b <bytes>[t|g|m|k] -t <runtime>[d|h|m] -d <directory> [ -d <directory> [ -d <directory> [...] ]] [-a] [-u]| -V | -h >
ZeST is a commandline and curses UI based multiplatform disk stressing tool.
ZeST forks processes and each writes data to the specified directory (the filename used depends on the process's PID). After the user specified amount of bytes has been written, ZeST verifies
The arguments -p, -b, -t, and -d are required to run stress.
· -p Number of processes to run.
· -b Bytes to write per proccess. Can use byte suffixes
See the notes section for details.
· -t Time for each process to run. Can use time suffixes
See the notes section for details.
· -d Directory to write data to. Do not specify the same
directory twice. This argument can be used more than once.
· -a Automatic aka `don't Ask'. Launch the stress without
pausing for confirmation. Best reserved for scripts.
· -u Unlink data files when finished.
· -h Help screen.
· -V Version info.
ZeST will return an exit value depending upon the circumstances of the program quitting.
· 0 = Normal Exit
· 1 = FIFO error.
Problem with the fifo. Check to see if there's a file named /tmp/zest-fifo and change its permissions (to RW for user running zest) or remove it.
· 2 = Command line error.
Bad parameters entered. Make sure your entering valid values and all required paramters.
· 3 = User Aborted.
Test cancelled by the user. This does not include ZeST receiving a SIGTERM.
· 4 = Data File error.
Problem with the data file. More likely to happen if exit on error is enabled.
This would run 85 processes each writing 512 Megabytes to the paths /disk1 and /disk2 for 1 day and will delete the test files upon completion.
zest -p 85 -b 512m -d /disk1 -d /disk2 -t 1d -u
This runs 1 process writing 1 Terabyte to /mnt/storage for 2days
zest -p1 -b1t -d/mnt/storage -t48h
Here are some caveats and functionality quirks.
· Specifying multiple directories does nnoott increase the number of processes running. Instead of writing one file in one directory, each process writes its data file to all directories.
· Leaving off a unit specifier results in the smallest unit possible being used. For -t this is seconds. For -b this is bytes.
ZeST was written entirely from scratch by Matthew "Zashi" Hiles.