xref: /linux/tools/perf/Documentation/perf-mem.txt (revision cf21f328fcafacf4f96e7a30ef9dceede1076378)
1perf-mem(1)
2===========
3
4NAME
5----
6perf-mem - Profile memory accesses
7
8SYNOPSIS
9--------
10[verse]
11'perf mem' [<options>] (record [<command>] | report)
12
13DESCRIPTION
14-----------
15"perf mem record" runs a command and gathers memory operation data
16from 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
19right set of options to display a memory access profile. By default, loads
20and stores are sampled. Use the -t option to limit to loads or stores.
21
22Note that on Intel systems the memory latency reported is the use-latency,
23not the pure load (or store latency). Use latency includes any pipeline
24queueing delays in addition to the memory subsystem latency.
25
26On Arm64 this uses SPE to sample load and store operations, therefore hardware
27and kernel support is required. See linkperf:perf-arm-spe[1] for a setup guide.
28Due to the statistical nature of SPE sampling, not every memory operation will
29be sampled.
30
31OPTIONS
32-------
33<command>...::
34	Any command you can specify in a shell.
35
36-i::
37--input=<file>::
38	Input file name.
39
40-f::
41--force::
42	Don't do ownership validation
43
44-t::
45--type=<type>::
46	Select the memory operation type: load or store (default: load,store)
47
48-D::
49--dump-raw-samples::
50	Dump the raw decoded samples on the screen in a format that is easy to parse with
51	one sample per line.
52
53-x::
54--field-separator=<separator>::
55	Specify the field separator used when dump raw samples (-D option). By default,
56	The separator is the space character.
57
58-C::
59--cpu=<cpu>::
60	Monitor only on the list of CPUs provided. Multiple CPUs can be provided as a
61        comma-separated list with no space: 0,1. Ranges of CPUs are specified with -: 0-2. Default
62        is to monitor all CPUS.
63-U::
64--hide-unresolved::
65	Only display entries resolved to a symbol.
66
67-p::
68--phys-data::
69	Record/Report sample physical addresses
70
71--data-page-size::
72	Record/Report sample data address page size
73
74RECORD OPTIONS
75--------------
76-e::
77--event <event>::
78	Event selector. Use 'perf mem record -e list' to list available events.
79
80-K::
81--all-kernel::
82	Configure all used events to run in kernel space.
83
84-U::
85--all-user::
86	Configure all used events to run in user space.
87
88-v::
89--verbose::
90	Be more verbose (show counter open errors, etc)
91
92--ldlat <n>::
93	Specify desired latency for loads event. Supported on Intel and Arm64
94	processors only. Ignored on other archs.
95
96In addition, for report all perf report options are valid, and for record
97all perf record options.
98
99SEE ALSO
100--------
101linkperf:perf-record[1], linkperf:perf-report[1], linkperf:perf-arm-spe[1]
102