UNIX System Exerciser


The usex UNIX System Exerciser gives its user the capability of thoroughly exercising and testing several different kernel subsystems. usex is a single executable that acts as as test harness controlling one or more test programs. The test programs can be selected from a suite of built-in tests, or external user-supplied test programs. In addition to showing the current state of each test program, the usex display screen continuously displays several key kernel subsystem performance statistics.

The behaviour of a usex session can be invoked interactively by answering several prompts that specify exactly which tests to run. Alternatively, an input file may be specified on the command line that dictates the desired test suite. Lastly, there are two common test suite "examples" that can be kicked off via the command line options usex -e and usex -b.

However, to best understand how to use usex most effectively for a given need, check out the accompanying tutorial, which steps through the set of prompts issued when usex is invoked interactively without an input file. Once the capabilities and options are understood, an input file can be created to easily re-run a desired test suite from a single command line entry.

Here is a display screen shot of a usex session running a set of its built-in tests, consisting of 4 disk I/O tests, 1 disk transfer rate test, 1 dhrystone benchmark, 1 whetstone benchmark, 4 virtual memory exercisers, and 7 bin test suites, each of which runs well over 300 commands from /bin, /usr/bin and /usr/sbin:

usex
********************************************************************************
*  ID  BSIZE  MODE   POINTER   OPERATION         FILE NAME         PASS  STAT  *
*  --  -----  ----  ---------  ---------  -----------------------  ----  ----  *
*   1   8192  Fill                        /usr/tmp/ux028425_01        1  BKGD  *
*   2   8192  Fill                        /usr/tmp/ux028425_02        1  BKGD  *
*   3   8192  Fill                        /usr/tmp/ux028425_03        1  BKGD  *
*   4   8192  Fill                        /usr/tmp/ux028425_04        1  BKGD  *
*   5   8192  Rate             read[72%]  /usr/tmp/ux028425_05        3  BKGD  *
*   6  476190 dhrystones/second           dhrystone benchmark        17  BKGD  *
*   7  194.802 MWIPS           Loop N2..  whetstone benchmark         2  BKGD  *
*   8  10 mb random           10.7 mb     virtual memory test            BKGD  *
*   9  10 mb random           10.5 mb     virtual memory test            BKGD  *
*  10  10 mb sequential       19.4 mb     virtual memory test            BKGD  *
*  11  10 mb sequential       19.5 mb     virtual memory test            BKGD  *
*  12  /usr/bin/weave  [                                        ]     1  BKGD  *
*  13  /usr/bin/neqn  [                                         ]     1  BKGD  *
*  14  /usr/bin/guile  [                                        ]     1  BKGD  *
*  15  /usr/bin/wish  [                                         ]     1  BKGD  *
*  16  /usr/bin/ar  [                                           ]     1  BKGD  *
*  17  /usr/bin/unprotoize  [                                   ]     1  BKGD  *
*  18  /usr/bin/rpcinfo  [                                      ]     1  BKGD  *
********************************************************************************
*  Unix System EXerciser  *  USER SYSTEM IDLE  LOADAVG  TASKS/RUN   TEST TIME  *
*    USEX Version 1.7     *   94%    6%    0%    4.47     104/11    000:07:16  *
*                         *                                                    *
*     anderson - i686     *  PAGE-IN PAGE-OUT  FREEMEM  FREESWAP   CSW   INTR  *
*   Linux 2.2.5-15smp2    *    3736    2537     1.1 mb   114 mb    319    378  *
*                         *  SWAP-IN SWAP-OUT  BUFFERS   CACHED   FORKS        *
*     2May01  12:00:58    *     1       47      2.6 mb  27.2 mb     5          *
********************************************************************************
Note that while the set of specified tests are running as indicated in the upper box of the display screen, key system statistics are updated once per second in the lower part of the screen. giving the user an excellent indication of how the system is responding to the stress imposed by the test suite.

The latest version of usex is: 1.9-20

usex may be built from source using either the tar.gz or src.rpm files.

To build from the tar.gz file:


# tar xzf usex-1.9-20.tar
# cd usex-1.9-20
# make

To build from the src.rpm file:


# rpm -ivh usex-1.9-20.src.rpm
# cd /usr/src/redhat/SPECS
# rpmbuild -ba usex.spec

By default, the usex executable is built dynamically-linked. To build a statically-linked version of usex, the LDFLAGS definition in the Makefile can be uncommented:


# To make usex statically linked uncomment the following LDFLAGS line:
#LDFLAGS=-static