HP UX Developer Tools Getting Performance Advice, Specifying cpu Event Sets, Choosing CPU Events

Page 2

Getting Performance Advice

$ caliper ecount myapp $ caliper fprof myapp $ caliper advise

collect and save initial data; generate advice on collected data and possible next steps

Specifying cpu Event Sets

(for cpu measurement; not available on Linux)

-m overview

broad overview of CPU (includes

 

event sets: cpi, stall,

 

dispersal, l1icache,

-m overview:kernel

l1dcache, l2cache, tlb, fp)

restrict overview to execution in

 

-m brpath

kernel space

branch types, path distributions,

-m brpred

branches per instructions, …

branch prediction effectiveness

-m c2c

cache coherence activity

-m cpi

cycles per instruction

-m cpubus

central electronics complex

-m cspec

(CEC) traffic and CPU interaction

control speculation effectiveness

-m dispersal

parallelism at instruction

-m dspec

dispersal

data speculation effectiveness

-m fp

floating-point operation density,

 

execution rate, and flush/trap

-m l1dcache

events density

L1 data cache miss rates

-m l1icache

L1 instruction cache miss and

-m l2cache

prefetch information

L2 unified cache miss rates

-m l2dcache

L2 data cache miss rates

-m l2icache

(dual-core Itanium 2 only)

L2 instruction cache miss rates

-m l3cache

(dual-core Itanium 2 only)

L3 unified cache miss rates

-m queues

bus request queue information

-m replay

cycles lost due to instruction

 

replays (Intel® Itanium® 9500

-m stall

processors only)

CPU performance limiters

-m sysbus

system bus utilization

-m threadswitch

impact of HyperThreading

-m tlb

(dual-core Itanium 2 only)

translation lookaside buffer

 

(TLB) misses

Specifying CPU Event Privilege Levels

(--scope process, the default, assumed)

-m CPU_CYCLES:user

count CPU_CYCLES events

-m CC:k

that occur in user space

count CPU_CYCLES that occur

-m cpi:all

in kernel space

record CPI for both user and

 

kernel space (cpu

-s ,,CC:all

measurement)

sample on CPU_CYCLES in

 

both user and kernel space

--event-defaults kernel

--ev k

set default privilege level to

 

kernel for all events

Choosing CPU Events

(summed across run for ecount, fprof, pmu_trace, {di}cache, {di}tlb, branch)

-m

event

count event events

-m

event,event2,…

count multiple events

Controlling Amount of Data Reported

--summary-cutoff 2

--su 2

in Function Summary section,

 

only report functions responsible

--su 1,80

for 2 percent or more of data

only report functions responsible

 

 

for 1% or more of data; stop

 

reporting functions when the

--detail-cutoff 10

cumulative percentage is at 80%

 

--de 10

in Function Details section,

 

only report functions responsible

 

for 10 percent or more of data

--report-details none

-r none

do not include Function Details

-r all

section in report

show source statements and

 

disassembly in Function Details

--context-lines 1,3

--co 1,3

report 1 extra source line before

 

and after source lines with data;

 

report 3 extra instructions before/

--process-cutoff 5

after each instruction with data

 

--process-cut 5

in Process Summary section,

 

only report processes respon-

 

sible for >=5 percent of data

--db-save

save module information so

 

reports can be generated when

 

modules are not present

--dcache-data-profile causes the dcache

measurement to create a data summary report that reports global variables and process regions associated with dcache misses

--report-hotpathsWhen true, adds hot call paths section to call graph reports

Finding Source Files, Libraries, Executables

(for use in symbol, source, and disassembly reporting)

--module-search-path dir1:dir2 search for libraries and executables in dir1, then dir2

--module-s dir1:dir2

search dir1, dir2 (short form)

--source-path-map dir1:dir2

--soudir1:dir2 search for source files in dir1, then dir2

--sou /work,/net/work

replace /work with /net/work in source file paths when searching for source files

Selecting Measurement Duration

-esecs collect data for secs seconds (default: collect until all measured processes exit or SIGINT)

Reporting Threads

--threads all report per-thread data; (default) --threadssum-allno per- thread data --threads merge merges data for threads having

same thread starter function name

Specifying Location of Kernel

(for use in symbol and disassembly reporting)

--kernel-path /tmp/vmlinux

--k /tmp/vmlinux kernel path is /tmp/vmlinux (unzipped copy of Linux kernel)

Collecting Memory Usage Data

(for any measurement; not available on Linux) --memory-usage begin:end

--mem b:e

measure at start and end of run

measure at start/end (short form)

--mem timed:10s

measure every 10 seconds

--mem

timed:1m

measure every minute

--mem

all

measure once a second and at

start and end of run

Specifying HP Caliper Options in a Text File

-foptionsFile read HP Caliper options from the text file called optionsFile

Image 2
Contents Choosing Target of Data Collection Using the Graphical User InterfaceMeasurements measurement argument Generating ReportsSpecifying CPU Event Privilege Levels Getting Performance AdviceSpecifying cpu Event Sets Choosing CPU Events
Related manuals
Manual 29 pages 37.9 Kb Manual 202 pages 52.59 Kb Manual 44 pages 5.6 Kb