

                           Optimizing Windows NT

                             Measurement Tools


1.  Overview

    This directory tree contains a number of tools which may be useful
    in the measurement and analysis of Windows NT computers. These
    are documented in the book "Optimizing Windows NT," and also
    briefly here.


2.  Directory Organization

    There are two sub-directories: "i386" which contains the x86
    executables, and "MIPS" which contains the MIPS executables.
    Depending on which platform you are on, you should add the
    corresponding directory to your path.  Alternatively, you can copy
    the files from the corresponding directory into a directory on your
    path.


3.  Measurement Tools

    The following sections discuss the different tools.  The sections
    are listed in alphabetical order by tool name.


3.1.  CLEARMEM

    CLEARMEM is used to force pages out of RAM.  On Windows NT, the
    working sets are allowed to grow until memory pressure forces them
    to decline.  Running CLEARMEM twice will usually force most
    applications out of memory.  When CLEARMEM is run, the system will
    pause because of the flood of high priority activity.  To run CLEARMEM,
    the computer's paging file must be at least as large as its RAM.

    Usage:

        clearmem


3.2.  CTRLIST

    CTRLIST is used to produce a text file containing the Performance
    Monitor objects and counters together with their Explain text.
    The resulting file can be searched for rapid online access to
    counter details.

    Usage:

        ctrlist > output.fil


3.3.  KILL

    KILL is a utility for stopping applications.  You can name an
    application by the name of its executable or by its Process ID.
    You can determine the Process ID from TLIST or PVIEW or Performance
    Monitor.  If you specify the name of the executable and more than
    one copy is running, all running copies are killed.

    Usage:

	kill { PID | progname }


3.4  LODCTR

    LODCTR is used to load new objects, counters, and explain text
    into the Registry for use by performance monitors.  See Chapter
    13 of "Optimizing Windows NT" for complete instructions on its
    use.


3.5.  NTIMER

    NTIMER is used to determine how long a program runs.  It shows
    Elapsed Time (ETime), time in User Mode (UTime) and time in
    Privileged Mode (KTime).  These are expressed in
    hours:minutes:seconds.milliseconds.  Time is actually accurate
    only to the resolution of the timer, which is 15 milliseconds
    on the x86 and 10 milliseconds on the MIPS.

    Usage:

	ntimer program.exe


3.6.  PERFMTR

    PERFMTR is useful for watching a number of system performance
    numbers during system execution.  You can select from a
    number of different views of the system by entering a character
    from a list presented when PERFMTR starts.

    Usage:

	perfmtr


3.7.  PMON

    PMON is useful for looking at a large number of memory statistics
    while Windows NT is running.  All of the information in PMON is
    available in the Performance Monitor.  But PMON displays the data
    in a more tailored form.

    Usage:

        pmon


3.8.  PVIEW

    PVIEW is a convenient tool for looking at processes on a Windows
    NT system.

    Usage:

        pview


3.9.  SETEDIT

    SETEDIT is a tool for editing Performance Monitor chart settings
    files.  

    SETEDIT looks just like the Windows NT Performance Monitor, but
    when you edit a legend line it permits you to type in instance
    names.

    SETEDIT is particularly useful for locating instances within
    Performance Monitor log files.  Since you cannot select instances
    until they are alive at the start of the time window, mortal
    instances can be hard to find.  You can use SETEDIT to enter the
    the case-sensitive name of the instance into a settings file.
    When Performance Monitor opens the settings file, it can then
    locate the instance automatically.

    Usage:

        setedit [setfile.pmc]


3.10.  TLIST

    TLIST shows the running processes and their Process ID's.

    Usage:

	tlist


3.11.  UNLODCTR

    UNLODCTR is used to remove performance monitoring objects,
    counters, and Explain text from the registry for extensible
    objects.  If an object is being de-installed, its performance
    monitor support should be removed.  Two successive runs of LODCTR
    without an intervening run of UNLODCTR will result in counters
    being installed that cannot easily be removed.  This wastes space
    in the Registry.  See Chapter 13 of "Optimizing Windows NT" for
    directions on running UNLODCTR.


3.12.  VADUMP

    VADUMP can be used to look within the address space of a process.
    It shows the state and size of each segment of virtual address
    space.  It can be used to make sure virtual address space is not
    over-allocated.  It serves as a hard copy of some of the information
    visible in PVIEW.

    For technical reasons beyond our control, operation of VADUMP as
    described in Chapter 11 of "Optimizing Windows NT" is not available
    at this time.  Use the Working Set Tuner.  The packing list
    provided can be used to determine which data structures should be
    grouped together.  Do this by listing the data structures accessed
    by the functions that are grouped together.  Then reorganize your
    data to match the access patterns implied by the packing list.

    Usage:

	vadump -p PID

    where PID is the Process ID as indicated by TLIST.


3.13.  WPERF

    WPERF is a simple performance monitor which has a different user
    interface from Performance Montior.  It is preferable for some
    applications.  Once you have started WPERF, you should enlarge
    the window it is using and double click on the chart surface to
    get to the menus.

    Usage:

        wperf

[End of readme.txt.]
