Performance Analyzer
Sun Studio 9
817-6696-10
Contents |
Accessing Sun Studio Software and Man Pages
Accessing Compilers and Tools Documentation
Accessing Related Solaris Documentation
Contacting Sun Technical Support
1. Overview of the Performance Analyzer
Starting the Performance Analyzer From the Integrated Development Environment
The Tools of Performance Analysis
The prof, gprof, and tcov Tools
The Performance Analyzer Window
What Data the Collector Collects
Hardware-Counter Overflow Profiling Data
Synchronization Wait Tracing Data
Heap Tracing (Memory Allocation) Data
How Metrics Are Assigned to Program Structure
Function-Level Metrics: Exclusive, Inclusive, and Attributed
Interpreting Attributed Metrics: An Example
How Recursion Affects Function-Level Metrics
3. Collecting Performance Data
Compiling and Linking Your Program
Preparing Your Program for Data Collection and Analysis
Using Dynamically Allocated Memory
Program Control of Data Collection
The C, C++, Fortran, and Java API Functions
Limitations on Data Collection
Limitations on Clock-Based Profiling
Limitations on Collection of Tracing Data
Limitations on Hardware-Counter Overflow Profiling
Runtime Distortion and Dilation With Hardware-Counter Overflow Profiling
Limitations on Data Collection for Descendant Processes
Runtime Performance Distortion and Dilation for Applications Written in the Java Programming Language
Estimating Storage Requirements
Collecting Data Using the collect Command
Collecting Data Using the dbx collector Subcommands
Experiment Control Subcommands
Collecting Data From a Running Process
Collecting Data From MPI Programs
Running the collect Command Under MPI
Collecting Data by Starting dbx Under MPI
4. The Performance Analyzer Tool
Starting the Performance Analyzer
Setting Data Presentation Options
Generating Mapfiles and Function Reordering
5. The er_print Command Line Performance Analysis Tool
Commands That Control the Function List
Commands That Control the Callers-Callees List
Commands That Control the Leak and Allocation Lists
Commands That Control the Source and Disassembly Listings
Commands That Control the Data Space List
Commands That List Experiments, Samples, Threads, and LWPs
Commands That Control Selections
Commands That Control Load Object Selection
Commands That Print Other Displays
Commands That Set Defaults Only For the Performance Analyzer
6. Understanding the Performance Analyzer and Its Data
Interpreting Performance Metrics
Hardware-Counter Overflow Profiling
Call Stacks and Program Execution
Single-Threaded Execution and Function Calls
Overview of Java Technology-Based Software Execution
Java Processing Representations
Parallel Execution and Compiler-Generated Body Functions
Mapping Addresses to Program Structure
Static Functions From Stripped Shared Libraries
Fortran Alternate Entry Points
Compiler-Generated Body Functions
Dynamically Compiled Functions
The <no Java callstack recorded> Function
The <Truncated-stack> Function
Functions Related to HW Counter Profiling
Mapping Data Addresses to Program Data Objects
7. Understanding Annotated Source and Disassembly Data
Performance Analyzer Source Window Layout
Interpreting Annotated Disassembly
Special Lines in the Source, Disassembly and PCs Tabs
Compiler-Generated Body Functions
Dynamically Compiled Functions
Viewing Source/Disassembly Without An Experiment
Copying Experiments With the er_cp Utility
Moving Experiments With the er_mv Utility
Deleting Experiments With the er_rm Utility
A. Profiling Programs With prof, gprof, and tcov
Using prof to Generate a Program Profile
Using gprof to Generate a Call Graph Profile
Using tcov for Statement-Level Analysis
Creating tcov Profiled Shared Libraries
Errors Reported by tcov Runtime Functions
Using tcov Enhanced for Statement-Level Analysis
Creating Profiled Shared Libraries for tcov Enhanced
tcov Directories and Environment Variables
Copyright © 2004, Sun Microsystems, Inc. All rights reserved.