| xj | b04a402 | 2021-11-25 15:01:52 +0800 | [diff] [blame] | 1 | perf-mem(1) | 
|  | 2 | =========== | 
|  | 3 |  | 
|  | 4 | NAME | 
|  | 5 | ---- | 
|  | 6 | perf-mem - Profile memory accesses | 
|  | 7 |  | 
|  | 8 | SYNOPSIS | 
|  | 9 | -------- | 
|  | 10 | [verse] | 
|  | 11 | 'perf mem' [<options>] (record [<command>] | report) | 
|  | 12 |  | 
|  | 13 | DESCRIPTION | 
|  | 14 | ----------- | 
|  | 15 | "perf mem record" runs a command and gathers memory operation data | 
|  | 16 | from it, into perf.data. Perf record options are accepted and are passed through. | 
|  | 17 |  | 
|  | 18 | "perf mem report" displays the result. It invokes perf report with the | 
|  | 19 | right set of options to display a memory access profile. By default, loads | 
|  | 20 | and stores are sampled. Use the -t option to limit to loads or stores. | 
|  | 21 |  | 
|  | 22 | Note that on Intel systems the memory latency reported is the use-latency, | 
|  | 23 | not the pure load (or store latency). Use latency includes any pipeline | 
|  | 24 | queueing delays in addition to the memory subsystem latency. | 
|  | 25 |  | 
|  | 26 | OPTIONS | 
|  | 27 | ------- | 
|  | 28 | <command>...:: | 
|  | 29 | Any command you can specify in a shell. | 
|  | 30 |  | 
|  | 31 | -i:: | 
|  | 32 | --input=<file>:: | 
|  | 33 | Input file name. | 
|  | 34 |  | 
|  | 35 | -f:: | 
|  | 36 | --force:: | 
|  | 37 | Don't do ownership validation | 
|  | 38 |  | 
|  | 39 | -t:: | 
|  | 40 | --type=<type>:: | 
|  | 41 | Select the memory operation type: load or store (default: load,store) | 
|  | 42 |  | 
|  | 43 | -D:: | 
|  | 44 | --dump-raw-samples:: | 
|  | 45 | Dump the raw decoded samples on the screen in a format that is easy to parse with | 
|  | 46 | one sample per line. | 
|  | 47 |  | 
|  | 48 | -x:: | 
|  | 49 | --field-separator=<separator>:: | 
|  | 50 | Specify the field separator used when dump raw samples (-D option). By default, | 
|  | 51 | The separator is the space character. | 
|  | 52 |  | 
|  | 53 | -C:: | 
|  | 54 | --cpu=<cpu>:: | 
|  | 55 | Monitor only on the list of CPUs provided. Multiple CPUs can be provided as a | 
|  | 56 | comma-separated list with no space: 0,1. Ranges of CPUs are specified with -: 0-2. Default | 
|  | 57 | is to monitor all CPUS. | 
|  | 58 | -U:: | 
|  | 59 | --hide-unresolved:: | 
|  | 60 | Only display entries resolved to a symbol. | 
|  | 61 |  | 
|  | 62 | -p:: | 
|  | 63 | --phys-data:: | 
|  | 64 | Record/Report sample physical addresses | 
|  | 65 |  | 
|  | 66 | RECORD OPTIONS | 
|  | 67 | -------------- | 
|  | 68 | -e:: | 
|  | 69 | --event <event>:: | 
|  | 70 | Event selector. Use 'perf mem record -e list' to list available events. | 
|  | 71 |  | 
|  | 72 | -K:: | 
|  | 73 | --all-kernel:: | 
|  | 74 | Configure all used events to run in kernel space. | 
|  | 75 |  | 
|  | 76 | -U:: | 
|  | 77 | --all-user:: | 
|  | 78 | Configure all used events to run in user space. | 
|  | 79 |  | 
|  | 80 | -v:: | 
|  | 81 | --verbose:: | 
|  | 82 | Be more verbose (show counter open errors, etc) | 
|  | 83 |  | 
|  | 84 | --ldlat <n>:: | 
|  | 85 | Specify desired latency for loads event. | 
|  | 86 |  | 
|  | 87 | In addition, for report all perf report options are valid, and for record | 
|  | 88 | all perf record options. | 
|  | 89 |  | 
|  | 90 | SEE ALSO | 
|  | 91 | -------- | 
|  | 92 | linkperf:perf-record[1], linkperf:perf-report[1] |