Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • DownloadDownload
  • PrintPrint
Share this Page URL
Help

List of Figures

List of Figures

Figure 1-1 Example Listing the Busiest Processes on a System

Figure 1-2 Setting up Cachefs and Checking for Large Files

Figure 1-3 Sample /etc/vfstab for Workstation Recipe

Figure 1-4 Sample /etc/system Kernel Tuning Parameters for a 128-Mbyte Solaris 2 NFS Server

Figure 1-5 Example /etc/system Entries for a Database Server

Figure 3-1 A Conceptual Model of Performance

Figure 3-2 Example iostat -x Disk Statistics

Figure 3-3 Saturation Points and the Relationship Between Performance Measures

Figure 3-4 Response Time Equations

Figure 3-5 How to Start Up System Accounting in Solaris 2

Figure 3-6 crontab Entry for Long-Term sar Data Collection

Figure 3-7 Example Data from sar Averages Tabulated with awk

Figure 3-8 Finding the Saturation Point

Figure 3-9 Model Formula and Coefficients Produced for System Sizing

Figure 4-1 The TCP Monitor Program

Figure 4-2 The tcp.analysis Program

Figure 4-3 HTTP GET Incoming Request and Outgoing Response

Figure 4-4 Zoom In Twice on HTTP GET Response

Figure 4-5 HTTP Request and Response with Retransmit Congestion

Figure 4-6 HTTP Response Retransmission

Figure 4-7 Clean Transfer to Buggy TCP Client

Figure 4-8 Two Separate Window-Limited Transfers

Figure 4-9 Large Transfers with Window-Close Flow Control

Figure 4-10 Retransmission Problems with Large Transfers

Figure 4-11 Increased Minimum Retransmit Time-out

Figure 4-12 Transfers Using HTTP Persistent Connections

Figure 4-13 High Bandwidth Persistent Connection Transfers

Figure 4-14 Workload Patterns

Figure 4-15 Load on www.sun.com for the First Week in March 1996

Figure 4-16 HTTP Load over a Month

Figure 4-17 Direct Web Service Without Proxy Cache

Figure 4-18 Indirect Web Service

Figure 4-19 Clustered Web Cache Service

Figure 4-20 Log-Log Plot of Response Time Versus Size

Figure 4-21 Perspective Log-Log Plot of Response Time Versus Size Distribution

Figure 4-22 Example iostat Results on a Proxy Cache with Logging File System

Figure 5-1 Dumbbell Diagram for Java Computing Architecture

Figure 5-2 Dumbbell Diagrams for Dumb Terminals

Figure 5-3 Dumbbell Diagrams for Fat Clients

Figure 5-4 Dumbbell Diagrams for X-Terminal Clients

Figure 5-5 Applix Anyware Configuration

Figure 5-6 OpenConnect VT220 Emulation

Figure 5-7 OpenConnect 3270 Emulation

Figure 5-8 Sun Sales Forecast Application

Figure 6-1 Code for the Metrognome Class

Figure 6-2 Debug Profile Without System Routines (Times in ms)

Figure 6-3 Debug Profile with System Routines (Times in ms)

Figure 6-4 Debug Profile Times with Unbuffered Input

Figure 6-5 Debug Profile Times with Java1.1 BufferedReader

Figure 6-6 Optimized Profile Times

Figure 6-7 Recommended Compiler Options to Optimize for All SPARC Systems

Figure 6-8 Recommended Compiler Options to Optimize for UltraSPARC

Figure 7-1 Example Using truss to Track Process File Usage

Figure 7-2 Example Display from msacct.se

Figure 8-1 Example Tunable Settings for the UFS Write Throttle

Figure 8-2 iostat -x Output

Figure 8-3 Kernel Disk Information Statistics Data Structure

Figure 8-4 SE-Based Rewrite of iostat to Show Service Time Correctly

Figure 8-5 How to Identify the Exact Disk Type and Vendor by Using format

Figure 8-6 Example Vendor Disk Specification Sheet

Figure 8-7 Average Disk Seek and Rotation Components

Figure 8-8 /etc/format.dat Entry for Sun 669-Mbyte Disk

Figure 8-9 SPARCstorage Disk Array Architecture

Figure 8-10 SPARCstorage Array Manager Configuration Display

Figure 8-11 SPARCstorage Array Monitoring Display Screen Shot

Figure 8-12 RSM2000/A3000 Disk Array Architecture

Figure 8-13 56” Rack-Mounted A5000 Disk Array Architecture

Figure 9-1 Example iostat Output Showing NFS Mount Points

Figure 9-2 Solaris 2.6 Example of netstat -k to See Network Interface Data in Detail

Figure 9-3 Configuring More Than 256 IP Addresses Per Interface

Figure 9-4 NFS Server Operation Counts

Figure 9-5 NFS Client Operation Counts (Solaris 2.4 Version)

Figure 9-6 NFS Operation Response Times Measured by Client

Figure 9-7 netstat -i Output Showing Multiple Network Interfaces

Figure 10-1 Example vmstat Output

Figure 10-2 Example vmstat -s Raw Counters Output

Figure 10-3 Example mpstat Output

Figure 10-4 The sysinfo Process Queue Data Structure

Figure 10-5 The vminfo Memory Usage Data Structure

Figure 10-6 The cpu_vminfo Per CPU Paging Counters Structure

Figure 10-7 The cpu_sysinfo Per-CPU System Information Structure

Figure 10-8 Monitoring All the CPUs with mpstat

Figure 10-9 System Call Mix for C Shell Loop

Figure 10-10 Example lockstat Output

Figure 10-11 Typical Distributed Memory Multiprocessor with Mesh Network

Figure 10-12 Typical Small-Scale, Shared Memory Multiprocessor

Figure 10-13 Application Speed Changes as Hit Rate Varies with a 25-Cycle Miss Cost

Figure 10-14 Linked List Example

Figure 10-15 Linked List Search Code in C

Figure 10-16 Linked List Search Loop in Assembler

Figure 11-1 Setting SuperCache Prefetch Mode

Figure 11-2 Cache-Busting Block-Copy Code

Figure 11-3 SPARC Reference MMU Table Walk

Figure 11-4 UltraSPARC MMU Table Walk

Figure 11-5 Example UltraSPARC MMU Statistics

Figure 11-6 The SPARCstation 1, 1+, IPC, SLC, 2, IPX, and ELC Family System Architecture

Figure 11-7 The SPARCstation LX and SPARCclassic Family System Architecture

Figure 11-8 The SPARCstation Voyager and SPARCstation 4 and 5 Family System Architecture

Figure 11-9 SPARCstation 10 Model 30, 40, and SPARCstation 20 Model 50 Organization

Figure 11-10 SPARCsystem 10, 20, and 600 Model 41, 51, and 61 Organization

Figure 11-11 SPARCstation 10 Model 402MP and SPARCstation 20 Model 502MP Cache Organization

Figure 11-12 The SPARCsystem 10, 20, and 600 Model 514MP Cache Organization

Figure 11-13 SPARCserver 1000 Configuration

Figure 11-14 SPARCcenter 2000 System Board Configuration

Figure 11-15 How to Manually Push Streams on an Alternative Console Port

Figure 11-16 UltraSPARC IIi-Based, Entry-Level Ultra 5, Ultra 10 System Architecture

Figure 11-17 The UltraSPARC Port Architecture (UPA) Ultra 1, 2, and 30 Implementation

Figure 11-18 The E450 UltraSPARC Port Architecture (UPA) Switched Interconnect

Figure 11-19 The Ultra Enterprise Server CPU+Memory Board Implementation

Figure 11-20 The Ultra Enterprise Server I/O Board Implementation

Figure 11-21 Enterprise Server Board Configuration: Side View with Numbering

Figure 11-22 The E10000 Starfire Implementation

Figure 12-1 Example Name Service Cache Daemon (nscd) Configuration

Figure 12-2 File Access Caches for Local Disk Access

Figure 12-3 File Access Caches for NFS and Cachefs

Figure 13-1 Example sar Paging Display

Figure 13-2 Example sar Page-out Display

Figure 13-3 Example sar Swapping Display

Figure 13-4 Example Vmstat 5 Output for a SPARCserver 1000 with 200 Users

Figure 13-5 Simplified Virtual Memory Address Space and File Mappings

Figure 13-6 The Memory-Go-Round

Figure 13-7 Reducing fsflush CPU Usage by Increasing autoup in /etc/system

Figure 13-8 Measuring fsflush CPU Usage

Figure 13-9 Parameters to Control Page Scanning Rate and Onset of Swapping

Figure 13-10 Example vmstat Output Highlighting Swap Queue

Figure 13-11 Example system_pages kstat Output from netstat -k

Figure 13-12 Example Swap Data Calculations

Figure 13-13 SE Code To Read Swap Measures and Display Correctly Labeled Data

Figure 14-1 Example Pseudo-tty Count Setting in /etc/system

Figure 14-2 Example sar Command to Monitor Attribute Cache Rates

Figure 14-3 The Directory Name Lookup Cache and Attribute Information Flows

Figure 14-4 Example netstat Output to Show Inode Statistics

Figure 14-5 Example sar Output to Show Buffer Cache Statistics

Figure 14-6 Example netstat Output to Show Buffer Cache Statistics

Figure 14-7 Example sar Output to See Table Sizes in Solaris 2

Figure 14-8 Example Output from crash kmastat

Figure 14-9 Example Systemwide Resource Limits Shown by sysdef

Figure 14-10 Mapping Solaris 2 Device Nicknames into Full Names

Figure 14-11 Whatdev: Device to Nickname Mapping Script

Figure 15-1 The nlist Structure Declaration

Figure 15-2 Example Declaration Ready for nlist Call

Figure 15-3 Call to nlist

Figure 15-4 Accessing Kernel Data Without the kvm Library

Figure 15-5 Example Use of kvm_open with Default Values

Figure 15-6 Call to kvm_nlist

Figure 15-7 Call to kvm_kread

Figure 15-8 Simple Application That Uses the kvm Library

Figure 15-9 Use of the kvm_getproc and kvm_getu Functions

Figure 15-10 Use of kvm_nextproc and kvm_getcmd

Figure 15-11 Reading Pointers Within Pointers

Figure 15-12 The kstat Framework

Figure 15-13 kstat Chain Structure Example

Figure 15-14 A Simple Program for Traversing the kstat Chain

Figure 15-15 Use of kstat_lookup and kstat_data_lookup

Figure 15-16 Traversing the Chain, Looking for “le” Devices

Figure 15-17 Use of kstat_lookup and kstat_data_lookup

Figure 15-18 Traversing the Chain, Looking for “le” Devices

Figure 15-19 Use of kstat_chain_update

Figure 15-20 The RSTATD Protocol Stack

Figure 15-21 Pushing, Popping, and Identifying Streams Modules

Figure 15-22 Extracting MIB Structures from Streams Modules

Figure 15-23 Dump All the Variables Available Through NDD

Figure 15-24 RPC rstatd Returned Data Structure

Figure 15-25 Sample rstat_client.c Code for Obtaining rpc.rstatd Data

Figure 15-26 Example Output from rstat_client

Figure 15-27 Counters from iostat for Comparison

Figure 15-28 Example perfmeter Output

Figure 15-29 Excerpt from prtconf Showing Device Information

Figure 15-30 Example prtdiag Output

Figure 15-31 Example Output from Symon Configuration Daemon

Figure 15-32 Configuration Information Command Examples for RSM2000 Disk Subsystem

Figure 16-1 SE Installation Example

Figure 16-2 Running SE Example Tools

Figure 16-3 Example Display of zoom.se

Figure 16-4 Calendar Manager Performance Appointment

Figure 16-5 Calendar Manager Multibrowse Performance

Figure 16-6 Example Output from nfsstat -m

Figure 16-7 Code for xiostat.se

Figure 16-8 Code for Pure CPU Rule

Figure 16-9 Code for Live CPU Rule

Figure 16-10 Example cpu_meter.se Screenshot

Figure 16-11 Example Display from df_stats.se

Figure 16-12 Example infotool.se Screenshot

Figure 16-13 Example Display for kviewx.se

Figure 16-14 Example multi_meter.se Screenshot

Figure 16-15 Example Output from percollator.se — Time, Rules, CPU, and Disk

Figure 16-16 Example Output from percollator.se — Network and TCP Data

Figure 16-17 Example Output from percollator.se — Connection and HTTP Rates

Figure 16-18 Example Output from percollator.se — HTTP Protocol Mixture

Figure 16-19 Example Output from percollator.se — HTTP Size Distribution

Figure 16-20 Example Output from percollator.se — Proxy Cache Mixture and Transfer Time

Figure 16-21 Example Output from percollator.se — Proxy Cache Transfer Time by Size

Figure 16-22 Example Display for GPercollator Java Viewer

Figure 16-23 Example Output for pure_test.se

Figure 16-24 Example Display for systune.se

Figure 16-25 Usage and Configuration of virtual_adrian.se

Figure 16-26 Example Display from xit.se

Figure 16-27 Example Display for zoom.se