DOC HOME
SITE MAP
MAN PAGES
GNU INFO
SEARCH
PRINT BOOK
Performance Guide
About this book
How this book is organized
How can we improve this book?
What determines performance
Hardware factors that influence performance
Software factors that influence performance
Managing performance
Tuning methodology
Defining performance goals
Collecting data
Formulating a hypothesis
Getting more specifics
Making adjustments to the system
Performance tuning case studies
Managing the workload
Tuning CPU resources
Operating system states
Viewing CPU activity
Process states
Clock ticks and time slices
Context switching
Interrupts
Calculation of process priorities
Examining the run queue
Multiprocessor systems
Support for multiple processors
Using the mpstat load displayer
Examining interrupt activity on multiprocessor systems
Process scheduling
Adjusting the scheduling of processes
Controlling priority calculations -- dopricalc
Controlling the effective priority of processes -- primove
Controlling cache affinity -- cache_affinity
Controlling process preemption -- preemptive
Load balancing -- loadbalance
Identifying CPU-bound systems
Tuning CPU-bound systems
Tuning memory resources
Physical memory
Virtual memory
Paging
Page faults
Swapping
Viewing physical memory usage
Viewing swap space usage
Viewing swapping and paging activity
Identifying memory-bound systems
Tuning memory-bound systems
Reducing disk activity caused by swapping and paging
Increasing memory by reducing the buffer cache size
Investigating memory usage by system tables
Using graphical clients on low memory systems
Tuning X server performance
Kernel parameters that affect the X Window System
Case study: memory-bound workstation
System configuration
Defining a performance goal
Collecting data
Formulating a hypothesis
Getting more specifics
Making adjustments to the system
Case study: memory-bound software development system
System configuration
Defining a performance goal
Collecting data
Formulating a hypothesis
Getting more specifics
Making adjustments to the system
Tuning I/O resources
Subsystems that affect disk and other I/O
How the buffer cache works
Viewing buffer cache activity
Increasing disk I/O throughput by increasing the buffer cache size
Overriding the size of the buffer cache at boot time
Positioning the buffer cache in memory
Tuning the number of buffer cache hash queues
How the namei cache works
Viewing namei cache activity
Reducing disk I/O by increasing the size of the namei cache
How multiphysical buffers are used
Tuning the number of multiphysical buffers
The mechanics of a disk transfer
Viewing disk and other block I/O activity
Identifying disk I/O-bound systems
Tuning disk I/O-bound systems
SCSI disk driver request queue
Tuning the number of SCSI disk request blocks
Filesystem factors affecting disk performance
Overcoming performance limitations of hard disks
Tuning virtual disk performance
Performance considerations for RAID 4 and 5
Choosing a cluster size
Balancing disk load in virtual disk arrays
Tuning virtual disk kernel parameters
Serial device resources
Tuning serial device resources
Configuring your system for high-speed modems
Changing the interrupt trigger level
Increasing TTHOG and NCLIST
Case study: I/O-bound multiuser system
System configuration
Defining a performance goal
Collecting data
Formulating a hypothesis
Getting more specifics
Making adjustments to the system
Case study: unbalanced disk activity on a database server
System configuration
Defining a performance goal
Collecting data
Formulating a hypothesis
Getting more specifics
Making adjustments to the system
Tuning networking resources
STREAMS resources
Monitoring STREAMS performance
Tuning STREAMS usage
TCP/IP resources
Tuning TCP/IP performance
Monitoring TCP/IP performance
Configuring TCP/IP daemons for performance
Tuning SLIP performance
Tuning PPP performance
Testing network connectivity
Configuring network topology for performance
Configuring routing for performance
Configuring DNS name service for performance
NFS resources
Monitoring NFS performance
Tuning NFS performance
Tuning NFS client performance
Configuring NFS daemons
Tuning the number of nfsd daemons on a server
Tuning the number of biod daemons on a client
Configuring asynchronous or synchronous writes
Configuring NFS to use TCP
Configuring IP to maximize NFS performance
Configuring mount options to maximize NFS performance
Performance considerations when using automount
Performance considerations when using NIS
LAN Manager Client Filesystem resources
Tuning LAN Manager Client Filesystem performance
Examining possible network or server problems
Examining the usage of server message blocks and lminodes
Examining the performance of each mounted filesystem
Other networking resources
Case study: intermittently poor network performance
System configuration
Defining a performance goal
Collecting data
Formulating a hypothesis
Getting more specifics
Making adjustments to the system
Tuning system call activity
Viewing system call activity
Identifying excessive read and write system call activity
Viewing process fork and exec activity
Viewing AIO activity
Viewing IPC activity
Semaphore resources
Messages and message queue resources
Shared memory resources
SUDS library spin locks and latches
Reducing system call activity
Case study: semaphore activity on a database server
System configuration
Defining a performance goal
Collecting data
Formulating a hypothesis
Getting more specifics
Making adjustments to the system
Tools reference
df -- report disk space usage
ps -- check process activity
sar -- system activity reporter
How sar works
Running sar
swap -- check and add swap space
timex -- examine system activity per command
vmstat -- virtual memory statistics
Configuring kernel parameters
Autotuning
When to change system parameters
Configuration tools
Using configure to change kernel resources
Using idtune to reallocate kernel resources
Kernel parameters that you can change using configure
Buffer management
Buffer cache free list
Processes and paging
Memory management parameters
TTYs
Name cache
Name cache parameters
Asynchronous I/O
Virtual disks
User and group configuration
Security
TTY and console configuration
Filesystem configuration
Table limits
STREAMS
STREAMS parameters
Message queues
Message queue parameters
Event queues
Semaphores
Semaphore parameters
Shared memory
Shared memory parameters
Miscellaneous system parameters
System parameters
Miscellaneous device drivers and hardware parameters
Hardware and device driver parameters
Boot load extension parameters
LAN Manager Client Filesystem parameters
Examining and changing configuration-dependent values
Configuring TCP/IP tunable parameters
Using ifconfig to change parameters for a network card
Using inconfig to change global TCP/IP parameters
TCP/IP parameters
Address Resolution Protocol (ARP) parameters
asyh module parameters
Internet Control Message Protocol (ICMP) parameters
Internet Group Management Protocol (IGMP) parameters
Configuring the in-kernel network terminal (IKNT) driver
Internet Protocol (IP) parameters
mbcl driver parameters
NetBIOS parameters
Transmission Control Protocol (TCP) parameters
User Datagram Protocol (UDP) parameters
Quick system tuning reference
Bibliography
Glossary of performance terminology
Index