Fifth Edition (April 1996)
Trademarks and Acknowledgements
About This Book
Chapter 1. Performance Concepts
An Introduction to the Performance-Tuning Process
Performance Benchmarking-the Inevitable Dirtiness of Performance Data
Chapter 2. AIX Resource Management Overview
Performance Overview of the AIX CPU Scheduler
Performance Overview of the Virtual Memory Manager (VMM)
Performance Overview of AIX Management of Fixed-Disk Storage
Chapter 3. An Introduction to Multiprocessing
Symmetrical Multiprocessor (SMP) Concepts and Architecture
SMP Performance Issues
Adapting Programs to an SMP Environment
SMP Workloads
SMP Scheduling
Processor Affinity and Binding
Chapter 4. Performance-Conscious Planning, Design, and Implementation
Design and Implementation of Efficient Programs
Performance-Related Installation Guidelines
Chapter 5. System Monitoring and Initial Performance Diagnosis
The Case for Continuous Performance Monitoring
Performance Monitoring Using iostat, netstat, vmstat
Chapter 6. Monitoring and Tuning CPU Use
Using vmstat to Monitor CPU Use
Using the time Command to Measure CPU Use
Using xmperf to Monitor CPU Use
Using ps to Identify CPU-Intensive Programs
Using tprof to Analyze Programs for CPU Use
Detailed Control Flow Analysis with stem
Restructuring Executables with fdpr
Controlling Contention for the CPU
Modifying the Scheduler Time Slice
CPU-Efficient User ID Administration
Chapter 7. Monitoring and Tuning Memory Use
How Much Memory Is Really Being Used?
Analyzing Patterns of Memory Use with BigFoot
Assessing Memory Requirements via the rmss Command
Tuning VMM Memory Load Control
Tuning VMM Page Replacement
Chapter 8. Monitoring and Tuning Disk I/O
Tuning Sequential Read Ahead
Use of Disk-I/O Pacing
Logical Volume Striping
File-System Fragment Size
Compression
Asynchronous Disk I/O
Using Raw Disk I/O
Using Performance Implications of sync/fsync
Modifying the SCSI Device Driver max_coalesce Parameter
Setting SCSI-Adapter and Disk-Device Queue Limits
Controlling the Number of System pbufs
Chapter 9. Monitoring and Tuning Communications I/O
UDP/TCP/IP Performance Overview
TCP and UDP Performance Tuning
mbuf Pool Performance Tuning
UDP, TCP/IP, and mbuf Tuning Parameters Summary
NFS Tuning
Serving Diskless Workstations
Tuning Asynchronous Connections for High-Speed Transfers
Using netpmon to Evaluate Network Performance
Using iptrace to Analyze Performance Problems
Chapter 10. DFS Performance Tuning
DFS Caching on Disk or Memory?
DFS Cache Size
DFS Cache Chunk Size
Number of DFS Cache Chunks
Location of DFS Disk Cache
Cache Status-Buffer Size
Effect of Application Read/Write Size
Communications Parameter Settings for DFS
DFS File Server Tuning
DCE LFS Tuning for DFS Performance
Chapter 11. Performance Analysis with the Trace Facility
Understanding the Trace Facility
An Example of Trace Facility Use
Starting and Controlling Trace from the Command Line
Starting and Controlling Trace from a Program
Adding New Trace Events
Chapter 12. Performance Diagnostic Tool (PDT)
The AIX Performance Toolbox
Inference from the Kind of Performance Problem Reported
Using PerfPMR for Performance Diagnosis
Identifying the Performance-Limiting Resource
Workload Management
Chapter 13. Handling a Possible AIX Performance Bug
Measuring the Baseline
Reporting the Problem
Obtaining and Installing AIX Version 3.2.5 PerfPMR
Installing PerfPMR from the Web (includes Version 4)
Problem-Analysis Data
Appendix A. AIX Performance Monitoring and Tuning Commands
emstat Command
schedtune Command
vmtune Command
pdt_config Script
pdt_report Script
Appendix B. Performance-Related Subroutines
Appendix C. Cache and Addressing Considerations
Disclaimer
Addressing
Cache Lookup
TLB Lookup
RAM Access
Implications
Appendix D. Efficient Use of the ld Command
Rebindable Executables
Prebound Subroutine Libraries
Examples
Related Information
Appendix E. Performance of the Performance Tools
Appendix F. Application Memory Management-malloc and realloc
Appendix G. Performance Effects of Shared Libraries
Advantages and Disadvantages of Shared Libraries
How to Build Executables Shared or Nonshared
How to Determine If Nonshared Will Help
Related Information
Appendix H. Accessing the Processor Timer
POWER-Architecture-Unique Timer Access
Accessing Timer Registers in PowerPC-Architecture Systems
Example Use of the second Routine
Appendix I. National Language Support-Locale vs Speed
Programming Considerations
Some Simplifying Rules
Controlling Locale
Related Information
Appendix J. Summary of Tunable AIX Parameters
arpt_killc
biod Count
Disk Adapter Outstanding-Requests Limit
Disk Drive Queue Depth
dog_ticks
fork() Retry Interval
ipforwarding
ipfragttl
ipqmaxlen
ipsendredirects
loop_check_sum (AIX Version 3.2.5 only)
lowclust (AIX Version 3.2.5 only)
lowmbuf (AIX Version 3.2.5 only)
lvm_bufcnt (AIX Version 4 only)
maxrandwrt (AIX Version 4.1.3 and above)
maxbuf
max_coalesce
maxfree
maxperm
maxpgahead
maxpin (AIX Version 4 only)
maxpout
maxttl
mb_cl_hiwat (AIX Version 3.2.5 only)
Memory-Load-Control Parameters
minfree
minperm
minpgahead
minpout
MTU
nfs_chars (AIX Version 3.2.5), nfs_socketsize (AIX Version 4)
nfsd Count
nfs_gather_threshold (AIX Version 4 only)
nfs_portmon (AIX Version 3.2.5), portcheck (AIX Version 4)
nfs_repeat_messages (AIX Version 4 only)
nfs_setattr_error (AIX Version 4 only)
nfsudpcksum (AIX Version 3.2.5), udpchecksum (AIX Version 4)
nonlocsrcroute
npskill (AIX Version 4 only)
npswarn (AIX Version 4 only)
numclust (AIX Version 4 only)
numfsbuf (AIX Version 4 only)
Paging Space Size
pd_npages
Process-Priority Calculation
rec_que_size
rfc1122addrchk
rfc1323
sb_max
subnetsarelocal
syncd Interval
tcp_keepidle
tcp_keepintvl
tcp_mssdflt
tcp_recvspace
tcp_sendspace
tcp_ttl
thewall
Time-Slice Expansion Amount
udp_recvspace
udp_sendspace
udp_ttl
xmt_que_size