NAME
perf-record - Run a command and record its profile into perf.data
SYNOPSIS
perf record [-e <EVENT> | --event=EVENT] [-l] [-a] <command>
perf record [-e <EVENT> | --event=EVENT] [-l] [-a] -- <command> [<options>]
DESCRIPTION
This command runs a command and gathers a performance counter profile
from it, into perf.data - without displaying anything.
This file can then be inspected later on, using perf report.
OPTIONS
<command>...
Any command you can specify in a shell.
-e, --event=
Select the PMU event. Selection can be:
o a symbolic event name (use perf list to list all events)
o a raw PMU event (eventsel+umask) in the form of rNNN where NNN
is a hexadecimal event descriptor.
o a hardware breakpoint event in the form of \mem:addr[:access]
where addr is the address in memory you want to break in.
Access is the memory access type (read, write, execute) it can
be passed as follows: \mem:addr[:[r][w][x]]. If you want to
profile read-write accesses in 0x1000, just set mem:0x1000:rw.
-a
System-wide collection.
-l
Scale counter values.
-p, --pid=
Record events on existing pid.
-r, --realtime=
Collect data with this RT SCHED_FIFO priority.
-A, --append
Append to the output file to do incremental profiling.
-f, --force
Overwrite existing data file. (deprecated)
-c, --count=
Event period to sample.
-o, --output=
Output file name.
-i, --no-inherit
Child tasks do not inherit counters.
-F, --freq=
Profile at this frequency.
-m, --mmap-pages=
Number of mmap data pages.
-g, --call-graph
Do call-graph (stack chain/backtrace) recording.
-v, --verbose
Be more verbose (show counter open errors, etc).
-s, --stat
Per thread counts.
-d, --data
Sample addresses.
-n, --no-samples
Don't sample.
-R, --raw-samples
Collect raw sample records from all opened counters (default for
tracepoint counters).
SEE ALSO
perf-stat(1), perf-list(1)