perf-record(1) ============== NAME ---- perf-record - Run a command and record its profile into perf.data SYNOPSIS -------- [verse] 'perf record' [-e | --event=EVENT] [-l] [-a] 'perf record' [-e | --event=EVENT] [-l] [-a] -- [] 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 ------- ...:: Any command you can specify in a shell. -e:: --event=:: Select the PMU event. Selection can be: - a symbolic event name (use 'perf list' to list all events) - a raw PMU event (eventsel+umask) in the form of rNNN where NNN is a hexadecimal event descriptor. - 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. -c:: --count=:: Event period to sample. -o:: --output=:: Output file name. -i:: --inherit:: Child tasks 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 (typically for tracepoint counters). SEE ALSO -------- linkperf:perf-stat[1], linkperf:perf-list[1]