[ Previous | Next | Contents | Glossary | Home | Search ]
AIX Versions 3.2 and 4 Performance Tuning Guide

Appendix E. Performance of the Performance Tools

Occasionally, the AIX Performance Group is asked about the "overhead" of the performance tools. This is certainly a meaningful question, because some of the tools can add significantly to system workload. It is also a difficult question to answer, because the cost of running the tools is often proportional to some aspect of the workload. The following sections contain brief, informal discussions of the speed and resource use of the main performance monitoring and tuning facilities. These discussions are intended to give a general sense of the relative cost of various tools--not to constitute a rigorous description of tool performance. Most of the experiments were performed on AIX Version 3.2.5 on a RS/6000 Model 320. Exceptions are noted where they occur.

filemon

Most of filemon's load on the system is its CPU-time consumption. In a CPU-saturated environment with little I/O, filemon slowed a large compile by about 1%. In a CPU-saturated environment with a high disk-output rate, filemon slowed the writing program by about 5%.

fileplace

Most variations of this command use less than .3 seconds of CPU time.

iostat

This command uses about 20 milliseconds of CPU time for each periodic report generated.

lsattr

This command is I/O-limited. The first time it is run, it may take 2 to 4 seconds to read the necessary data. Subsequent executions on a lightly loaded system will use about .5 seconds of CPU time.

lslv

This command is CPU-limited. As an example, the command:

lslv -p hdisk0 hd1

consumes about .5 seconds of CPU time.

netpmon

With a moderate, network-oriented workload, netpmon increases overall CPU utilization by 3-5%. In a CPU-saturated environment with little I/O of any kind, netpmon slowed a large compile by about 3.5%.

netstat

Most of the variations of this command use less than .2 seconds of CPU time.

nfsstat

Most of the variations of this command use less than .1 seconds of CPU time.

PDT

Daily data collection takes several elapsed minutes, but most of that time is spent sleeping. Total CPU consumption is normally less than 30 seconds.

ps

The CPU time consumed by this command varies with the number of processes to be displayed, but usually does not exceed .3 seconds.

svmon

The svmon -G command uses about 3.2 seconds of CPU time. An svmon command for a single process (svmon -P processid), takes about .7 seconds of CPU time.

tprof

Since tprof uses trace, it causes some system overhead. tprof only enables one trace hook, however, so its overhead is less than that of a full trace. For example, tprof degraded the performance of a large compile by less than 2%.

trace

The overhead added by trace varies widely, depending on the workload and the number of hook IDs being collected. As an extreme case, a long-running, CPU-intensive job in an otherwise idle system took 3.2% longer when trace was running with all hooks enabled.

vmstat

This command uses about 40 milliseconds of CPU time for each report generated. The vmstat -s command requires about 90 milliseconds of CPU time.


[ Previous | Next | Contents | Glossary | Home | Search ]