Complete System Performance Monitor HOWTO

Chris Lorenz

<lorenzc@us.ibm.com>

2003-06-10
Revision History                                                             
Revision 2.0            2003-06-10             Revised by: CL                


This HOWTO provides an overview of the Complete System Performance Monitor,
including a description of the product and installation and configuration
information.

-----------------------------------------------------------------------------
Table of Contents
1. Copyright and legal notice
2. What Is the Complete System Performance Monitor?
3. Requirements
4. Installing CSPM and its requirements
    4.1. Installing Qt 3.0 or later
    4.2. Installing CSPM
    4.3. Starting the CSPM monitor
   
   
5. Modifying CSPM defaults
6. How CSPM displays data
    6.1. System Overview tab
    6.2. IRQs tab
    6.3. CPU Utilization tab
    6.4. Memory tab
    6.5. Network tab
    6.6. Storage tab
    6.7. Tests tab
    6.8. Test Summary tab
   
   

1. Copyright and legal notice

Copyright  2003 IBM Corporation. All rights reserved.

This document is provided "AS IS," with no express or implied warranties. Use
the information in this document at your own risk.

Linux is a registered trademark of Linus Torvalds. Other company, product,
and service names may be trademarks or service marks of others.

Permission is granted to copy, distribute, and/or modify this document under
the terms of the GNU Free Documentation License, Version 1.1 or any later
version published by the Free Software Foundation with no Invariant Sections,
no Front-Cover text, and no Back-Cover text. A copy of the license can be
found at [http://www.gnu.org/licenses/fdl.txt] http://www.gnu.org/licenses/
fdl.txt.
-----------------------------------------------------------------------------

2. What Is the Complete System Performance Monitor?

The Complete System Performance Monitor (CSPM), written by Don Dupuis of
Compaq Computer Corporation, is a graphical tool that monitors a Linux
system's CPU, memory, storage, network, and IRQ utilization. CSPM gathers all
the data automatically and then generates histogram displays of system usage.
-----------------------------------------------------------------------------

3. Requirements

CSPM V1.0 and later require the following:

*Red Hat Linux 7.2 or later, Mandrake 8.2 or later, or any Linux kernel
    that has Stephen Tweedie's sar or sysstat patch applied (such as 2.4.20).
   
*The Trolltech Qt 3.0 or later C++ application development environment,
    which is available for download from Trolltech for free.
   

-----------------------------------------------------------------------------
4. Installing CSPM and its requirements

This section describes how to acquire the Qt application development
environment and install CSPM.
-----------------------------------------------------------------------------

4.1. Installing Qt 3.0 or later

Qt 3.0 or later must be installed on the system before you install CSPM.
Follow these steps to acquire and configure Qt:

 1. Download the Qt X/11 Free Edition from [www.trolltech.com] http://
    www.trolltech.com for the latest version of Qt.
   
 2. Follow Trolltech's instructions for installing Qt.
   
 3. Run ./configure with the -thread switch to the configure program so that
    Qt is installed to run in multithreaded mode.
    # ./configure -thread                                                    
   
 4. Be sure to export the variables QTDIR and LD_LIBRARY_PATH, as described
    in the Qt installation instructions that are downloaded with the
    software.
   

-----------------------------------------------------------------------------
4.2. Installing CSPM

The following sections describe how to download and install CSPM. These steps
must be run by the root user. The installation process creates a directory
called spm and places all the files in that directory.
-----------------------------------------------------------------------------

4.2.1. Installing from rpm

Follow these steps to install CSPM from the rpm file:

 1. Download the CSPM rpm file from SourceForge at [http://sourceforge.net/
    projects.cspm] http://sourceforge.net/projects/cspm. The program name for
    CSPM is spm2.
   
 2. Install the software:
    # rpm -ihv --nodeps spm2-1.0-1.586.rpm                                   
   
    The rpm creates the binary call spm2 in the current directory.
   

-----------------------------------------------------------------------------
4.2.2. Installing from tar

Follow these steps to install CSPM from the tar file:

 1. Download the CSPM tar file from SourceForge at [http://sourceforge.net/
    projects.cspm] http://sourceforge.net/projects/cspm. The program name for
    CSPM is spm2.
   
 2. Untar the spm2.tar.gz file:
    # tar xvzf spm2.tar.gz                                                   
   
 3. Compile CSPM:
    # make all                                                               
   
    The make command creates the binary call spm2 in the current directory.
   

-----------------------------------------------------------------------------
4.3. Starting the CSPM monitor

The spm2 program should be run by a user other than root so that any changes
to the default preference settings can be changed.

Enter the following command from the directory where CSPM is installed:

# ./spm2                                                                     

If a segmentation fault occurs when spm2 is starting up, make sure that you
have set the QTDIR and LD_LIBRARY_PATH variables, as described in the Qt
installation instructions that are downloaded with the software.
-----------------------------------------------------------------------------

5. Modifying CSPM defaults

By default, the number of "range bars" along the y-coordinate of each
histogram is five. When there is no activity for a particular device, CSPM
provides default values of 0, 0.2, 0.4, 0.6, and 0.8. Once activity begins on
the device, CSPM sets the five values in equal increments from 0 to the peak
data value collected in each collection interval. Sometimes the grid lines
fall directly on the range bar numbers, making the numbers hard to read. You
can either adjust the color of the grid lines, adjust the collection
interval, or try to ignore the grid lines.

You can modify the default grid, sizing, and monitoring settings for each of
the views from the Preferences pulldown. From the Preferences pulldown, you
can select System, Tests, CPU, Memory, Network, Storage or IRQs. Once you
select a particular item, you can view the Grid, Monitoring, or Sizing tab
(if applicable) for that item.

From the Grid tab you can change such things as:

*the color of the grid lines
   
*the distance (or time), in seconds, between intervals when data is
    collected (horizontal lines appear at each interval)
   
*the color of the various data bars (such as read, write, user, nice, and
    "sys")
   
*the number of horizontal range bars (default is 5)
   
*the size of the histogram titles
   

From the Monitor tab you can change things such as:

*the height and width of the display boxes (in pixels)
   
*the colors of the display boxes
   
*the type of data to be monitored (IOs, data, reads and writes, sectors
    and blocks)
   

From the Sizing tab you can change the minimum height and width of the
display boxes (in pixels).
-----------------------------------------------------------------------------

6. How CSPM displays data

CSPM displays histograms that provide information about system usage. The
program has 8 display tabs for the different types of system information CSPM
collects. These tabs are:

*System Overview
   
*IRQs
   
*CPU Utilization
   
*Memory
   
*Network
   
*Storage
   
*Tests
   
*Test Summary
   

The key at the bottom of the histogram tables on each of the tabs tells how
to interpret the various colors representing data in the tables.

Use the horizontal and vertical scroll bars to view any histograms that do
not fit on the initial screen.
-----------------------------------------------------------------------------

6.1. System Overview tab

When CSPM starts up, the System Overview screen is displayed. The histograms
on the System Overview screen show data for the total system, including CPU,
memory, network, and storage usage. The following screenshot shows a sample
view of a System Overview screen.

[sysover]

Below each histogram is a key that describes the data that is represented.
For example, in the CPU total histogram, the red line represents user CPU
usage, the green line represents commands run with a modified scheduling
priority (nice), and the blue line represents system CPU usage.
-----------------------------------------------------------------------------

6.2. IRQs tab

When you click the IRQs tab, a histogram opens for each IRQ line that runs to
an ISA slot on the system. The following screenshot shows a sample view of
the IRQs screen.

Note Note                                                                    
    With Qt 3.0, the horizontal scroll bars on the Irqs tab does not work   
     properly. This problem does not occur with Qt 3.1.                      

[irqs]

The large blue number to the left of the histogram is the number of the IRQ.
The red line on each histogram represents the number of IRQs per second
utilitized by the device connected to the IRQ's ISA slot.
-----------------------------------------------------------------------------

6.3. CPU Utilization tab

When you click the CPU Utilization tab, histograms open for each CPU on the
system, as shown in the following screenshot:

[cpu]

The histograms show information about user (red), system (blue), and nice
priority (green) command utilization.
-----------------------------------------------------------------------------

6.4. Memory tab

The Memory tab is still under development. In a future release of CSPM, the 
Memory tab will graphically show how much memory processes use, from most to
least.
-----------------------------------------------------------------------------

6.5. Network tab

When you click the Network tab, histograms that show the amount of traffic on
the system's loopback device and each network device are displayed, as shown
in the following screenshot.

[network]

Sends are shown in red and receives are shown in blue.
-----------------------------------------------------------------------------

6.6. Storage tab

When you click the Storage tab, a collection of histograms opens that show
data for controllers, disks, and partitions. The key at the bottom of the
histograms tells which color of histogram box corresponds to which type of
device.

[storage]

The screenshot displays purple for controllers, green for disks, and orange
for partitions. The red lines represent reads from the devices and the blue
lines represent writes to the devices.

To see information about a partition (such as file system name, space used,
and space available), right-click the partition's histogram and then
left-click Properties. A Partition Status window opens that displays
information about the selected partition.

[snapshot9]
-----------------------------------------------------------------------------

6.7. Tests tab

The Tests tab opens a list of tests that can be run on the system and is
useful, for example, for quality assurance personnel who need to load test
systems when testing hardware or software.
-----------------------------------------------------------------------------

6.8. Test Summary tab

The Test Summary tab contains test output and utilization numbers for test
runs. You can print these test results and keep them for your records.
