Man Linux: Main Page and Category List

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)