blob: fc46c0b40f6e431bd5124885544b5827a96234c8 [file] [log] [blame]
Ingo Molnare33e0a42009-04-20 15:58:01 +02001perf-record(1)
Ingo Molnarc1c23652009-05-30 12:38:51 +02002==============
Ingo Molnare33e0a42009-04-20 15:58:01 +02003
4NAME
5----
Ingo Molnar23ac9cb2009-05-27 09:33:18 +02006perf-record - Run a command and record its profile into perf.data
Ingo Molnare33e0a42009-04-20 15:58:01 +02007
8SYNOPSIS
9--------
10[verse]
11'perf record' [-e <EVENT> | --event=EVENT] [-l] [-a] <command>
Mike Galbraith9e0967532009-05-28 16:25:34 +020012'perf record' [-e <EVENT> | --event=EVENT] [-l] [-a] -- <command> [<options>]
Ingo Molnare33e0a42009-04-20 15:58:01 +020013
14DESCRIPTION
15-----------
16This command runs a command and gathers a performance counter profile
Ingo Molnar23ac9cb2009-05-27 09:33:18 +020017from it, into perf.data - without displaying anything.
Ingo Molnare33e0a42009-04-20 15:58:01 +020018
19This file can then be inspected later on, using 'perf report'.
20
21
22OPTIONS
23-------
24<command>...::
25 Any command you can specify in a shell.
26
27-e::
28--event=::
Frederic Weisbecker1b290d62009-11-23 15:42:35 +010029 Select the PMU event. Selection can be:
Ingo Molnare33e0a42009-04-20 15:58:01 +020030
Frederic Weisbecker1b290d62009-11-23 15:42:35 +010031 - a symbolic event name (use 'perf list' to list all events)
32
33 - a raw PMU event (eventsel+umask) in the form of rNNN where NNN is a
34 hexadecimal event descriptor.
35
36 - a hardware breakpoint event in the form of '\mem:addr[:access]'
37 where addr is the address in memory you want to break in.
38 Access is the memory access type (read, write, execute) it can
39 be passed as follows: '\mem:addr[:[r][w][x]]'.
40 If you want to profile read-write accesses in 0x1000, just set
41 'mem:0x1000:rw'.
Ingo Molnare33e0a42009-04-20 15:58:01 +020042-a::
Arnaldo Carvalho de Melo386c0b72009-08-05 10:04:53 -030043 System-wide collection.
Ingo Molnare33e0a42009-04-20 15:58:01 +020044
45-l::
Arnaldo Carvalho de Melo386c0b72009-08-05 10:04:53 -030046 Scale counter values.
47
48-p::
49--pid=::
50 Record events on existing pid.
51
52-r::
53--realtime=::
54 Collect data with this RT SCHED_FIFO priority.
55-A::
56--append::
57 Append to the output file to do incremental profiling.
58
59-f::
60--force::
61 Overwrite existing data file.
62
63-c::
64--count=::
65 Event period to sample.
66
67-o::
68--output=::
69 Output file name.
70
71-i::
72--inherit::
73 Child tasks inherit counters.
74-F::
75--freq=::
76 Profile at this frequency.
77
78-m::
79--mmap-pages=::
80 Number of mmap data pages.
81
82-g::
83--call-graph::
84 Do call-graph (stack chain/backtrace) recording.
85
86-v::
87--verbose::
88 Be more verbose (show counter open errors, etc).
89
90-s::
91--stat::
92 Per thread counts.
93
94-d::
95--data::
96 Sample addresses.
97
98-n::
99--no-samples::
100 Don't sample.
Ingo Molnare33e0a42009-04-20 15:58:01 +0200101
Frederic Weisbeckerec7ba4e2009-08-31 03:32:03 +0200102-R::
103--raw-samples::
104Collect raw sample records from all opened counters (typically for tracepoint counters).
105
Ingo Molnare33e0a42009-04-20 15:58:01 +0200106SEE ALSO
107--------
Thomas Gleixner386b05e2009-06-06 14:56:33 +0200108linkperf:perf-stat[1], linkperf:perf-list[1]