System Performance Tuning

Help for UNIX System Administrators

Mike Loukides

Publisher: O'Reilly, 1990, 313 pages

ISBN: 0-937175-60-9

Keywords: System Administration

Last modified: June 17, 2021, 3:35 p.m.

System Performance Tuning answers one of the most fundamental questions you can ask about your computer: How can I get it to do more work without buying more hardware? If you have ever used a computer, you have wished it was faster, particularly when it was under heavy load. If your system gets sluggish when you start a big job, if you seem to spend hours waiting for remote file access to complete, if your system stops dead when several users are active, you need to read this book. Some performance problems require you to buy a bigger or faster computer, but many can be solved by making better use of the resources you already have.

This book takes a holistic approach to system performance. There are no simple solutions to performance problems. Without understanding how programs compete for system resources, you only push the problems from one part of the system to another. Performance tuning always involves compromises. Unless you know what the compromises are, you can't make intelligent decisions. Sometimes, education is the solution: when your system's users know more efficient ways of doing their work, performance problems will disappear. And sometimes, you just have to buy more hardware. But, if you've done your homework, you'll know what hardware you really need.

Topics covered include:

  • Real and perceived performance problems
  • Simple tricks to improve keyboard response
  • Finding out what your system is really doing
  • How to manage your system's load
  • How to survive without a lot of memory
  • How to configure your I/O system for the best throughput
  • Detecting an overworked or malfunctioning network
  • How to build a more efficient kernel
  1. Introduction to System Performance
    • System Performance Issues
      • How Users Perceive Performance
    • System Resources
      • The CPU
      • The Memory Subsystem
      • The I/O Subsystem
    • User Communities
      • Performance Agreements
  2. Monitoring System Activity
    • Tools of the Trade: What Your System is Really Doing
    • System Load Average
    • Process Summary and Status
      • ps Under BSD UNIX
      • ps Under System V
      • Some Quick Remedies
      • Other Options and Ideas
    • Idle Time
    • The cron Facility
      • BSD cron
      • System V cron
    • Accounting
      • BSD Accounting Utilities
      • System V Accounting Utilities
    • Administrative Setup for sar
      • Running sadc at Startup
      • Running sadc Periodically
      • Some sar Basics
    • SunOS Performance Meters
    • Benchmarks
  3. Managing the Workload
    • Some Tricks for Users
    • Cleanup: Reducing the Workload
      • Daemons You Can Do Without
      • Disabling Unnecessary Daemons
      • Fighting with sendmail
    • Scheduling Priority
      • Setting Priorities with nice
      • Changing a Job's Priority Under BSD UNIX
    • Off-peak Job Submission
      • The at Command
      • System V.4 Batch Queues
      • More Complex Queueing Systems
    • Shell Time Limits
    • CPU Capacity
      • What the Basic Kernel Tables Are
      • How These Parameters are Defined
      • Some Other Important Definitions
      • When to Change These Parameters
      • The X Window System and Table Size
      • Measuring Table Usage (BSD)
      • Measuring Table Usage (System V)
      • Time Slice (System V)
  4. Memory Performance
    • Paging and Swapping
    • How to Tell if Your System is Paging
      • Using vmstat
      • Some Examples
      • Watching vmstat Autimatically
      • Sun vmstat
      • XENIX vmstat
      • Memory Statistics (System V.3)
      • Memory Statistics (System V.4)
      • A System V Example
    • Conserving Memory
      • Shared Text Segments
      • Shared Libraries
      • Programming Techniques
      • Setting Memory Limits
      • The Buffer Cache
      • BSD Network Buffers
      • STREAMS Buffers
      • Kernel Tables
    • Tuning the Paging Algorithm
    • Managing the Swap Area
      • Filesystem Paging
      • Swap Area Size
      • Swap Area Distribution
    • Computing Memory Requirements
      • Estimating Memory for BSD Systems
      • Special Considerations for SunOS
      • Estimating Memory for System V
      • Summary
  5. Disk Performance Issues
    • I/O Subsystem Configuration
      • Disk Specifications
    • Partitions and Filesystems
      • Filesystem Types
      • Disk Organization (BSD)
      • Disk Organization (System V)
    • Planning and Creating Filesystems
      • Filesystem Tools
      • Filesystem Block Size
      • Inodes
      • Rotational Delay
      • Fragmentation Control (BSD Only)
      • Fragmentation Control (System V Only)
    • Balancing I/O Workload
      • Disk Locally
    • Filesystem Buffers
      • Disk Updates (System V)
    • In-memory Filesystems
    • Striped Filesystems
    • Conserving Disk Space
      • Filesystem Free Space
      • Filesystem Usage
      • Disk Rationing
      • Disk Housekeeping
  6. Network Performance
    • UNIX Networking
    • Introduction to TCP/IP Problems
    • Basic Network Etiquette
    • Network Performance Issues
      • Unreachable Hosts
      • Data Corruption on the Network
      • Gathering Network Integrity Data from NFS
      • Tracking Down Network Problems
      • Data Corruption at a Gateway
      • Network Congestion
    • Networks and CPU Load
      • Living with Slow Servers
      • NFS Workload and Kernel Table Size
    • RFS: System V Remote File Sharing
      • Filesystem Organization with RFS
      • RFS Buffer Usage
      • Server Usage
    • Special Considerations for STREAMS
      • STREAMS and SunOS
  7. Terminal Performance
    • Chattering Terminal Lines
      • Detecting Chattering Terminals (BSD)
      • Detecting Chattering Terminals (SYstem V)
      • Other Techniques
    • Disabling a Bad Terminal Line (BSD)
    • Disabling a Bad Terminal Line (System V)
    • Character Lists
    • Terminal Drivers and STREAMS
  8. Kernel Configuration
    • Why Build a Custom Kernel?
      • How We'll Proceed
      • A Word on BSD and System V Kernels
      • Measuring Memory
      • Words to the Wise
    • Configuring a BSD Kernel
      • Structure of a Configuration File
      • The maxusers Parameter
      • Devices
      • Pseudo-devices
      • Root and Swap Configuration
      • Options
      • Other Configuration Definitions
    • Configuring a System V Kernel
      • The Configuration Process
      • Configuring a XENIX Kernel
      • Configuring an Interactive 386/ix Kernel
      • General V.3 Configuration Rules
      • Configuration a System V.4 Kernel
      • System V Configuration Parameters
  1. Real-time Processes in System V.4
    • Real-time and Time-sharing Processes
    • Manipulating Priorities with priocntl (V.4)
      • Configuring the Scheduler (V.4))
    • Scheduler Configuration Tables
      • Real-time Scheduler Table
      • Time-sharing Scheduler Table
  2. A Performance Tuning Strategy
    • Preparation: Setting Up Record Keeping
    • Before the Problem Strikes
    • When the Problem Strikes
    • Detecting Memory Problems
    • Detecting Disk I/O Problems
    • Detecting Network Problems
    • Terminal I/O
    • General Tips

Reviews

System Performance Tuning

Reviewed by Roland Buresund

OK ***** (5 out of 10)

Last modified: May 21, 2007, 3:25 a.m.

Ancient, but it used to be very good.

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required