pprof Command

Purpose

Reports CPU usage of all kernel threads over a period of time.

Syntax

pprof { time | -I pprof.flow | -i tracefile | -d } [ -T bytes] [ -v ] [ -s ] [ -n ] [ -f ] [ -p ] [ -w ] [-r PURR] [-@ [WparList | ALL ]

Description

The pprof command reports on all kernel threads running within an interval using the trace utility. The raw process information is saved to pprof.flow, and five reports are generated. The pprof command can also take previously generated Pprof.flow to regenerate reports. If no flags are specified, all reports are generated.

Types of Reports

Item Description
pprof.cpu Lists all kernel level threads sorted by actual cpu time. Contains: Process Name, Process ID, Parent Process ID, Process State at Beginning and End, Thread ID, Parent Thread ID, Actual CPU Time, Start Time, Stop Time, Stop - Start

The WPAR name is also provided when the -@ flag with no argument has been selected.

pprof.start Lists all kernel threads sorted by start time. Contains: Process Name, Process ID, Parent Process ID, Process State Beginning and End, Thread ID, Parent Thread ID, Actual CPU Time, Start Time, Stop Time, Stop - Start

The WPAR name is also provided when the -@ flag with no argument has been selected.

pprof.namecpu Lists information about each type of kernel thread (all executable with the same name). Contains: Process Name, Number of Threads, CPU Time, % of Total CPU Time

The WPAR name is also provided when the -@ flag with no argument has been selected.

pprof.famind Lists all processes grouped by families (processes with a common ancestor). Child process names are indented with respect to the parent. Contains: Start Time, Stop Time, Actual CPU Time, Process ID, Parent Process ID, Thread ID, Parent Thread ID, Process State at Beginning and End, Level, Process Name.

The WPAR name is also provided when the -@ flag with no argument has been selected.

pprof.famcpu Lists the information for all families (processes with a common ancestor). The Process Name and Process ID for the family is not necessarily the ancestor. Contains: Start Time, Process Name, Process ID, Number of Threads, Total CPU Time.

The WPAR name is also provided when the -@ flag with no argument has been selected.

Flags

Item Description
-d Waits for the user to execute trcon and trcstop from the command line.
-f Specifies to only generate the pprof.famcpu and pprof.famind reports.
-i tracefile Indicates to generate reports from a tracefile. The trace must contain the following hooks: 135,106,10C,134,139,465,467,00A
-I pprof.flow Indicates to generate reports from a previously generated pprof.flow. Specifies to only generate the pprof.namecpu report.
-n Specifies to only generate the pprof.namecpu report.
-p Specifies to only generate the pprof.cpu report.
-r PURR Uses PURR time instead of TimeBase in percent and CPU time calculation. Elapsed time calculations are unaffected.
-s Specifies to only generate the pprof.start report.
-T Sets the trace kernel buffer size in bytes. The default is 32000.
-v Sets verbose mode (print extra details).
-w Specifies to only generate pprof.flow.
-@ [WparList | ALL] Displays WPAR information.
ALL
Lists all WPARs.
WparList
Specifies a comma-separated list of WPARs of interest.
time Specifies the number of seconds to trace the system.

Note: Review the /usr/lpp/perfagent/README.perfagent.tools file for the latest on changes to the performance analysis tools.