Scroll to navigation

PERF-MEM(1)   PERF-MEM(1)

NAME

perf-mem - Profile memory accesses

SYNOPSIS

perf mem [<options>] (record [<command>] | report)

DESCRIPTION

"perf mem record" runs a command and gathers memory operation data from it, into perf.data. Perf record options are accepted and are passed through.

"perf mem report" displays the result. It invokes perf report with the right set of options to display a memory access profile. By default, loads and stores are sampled. Use the -t option to limit to loads or stores.

Note that on Intel systems the memory latency reported is the use-latency, not the pure load (or store latency). Use latency includes any pipeline queuing delays in addition to the memory subsystem latency.

On Arm64 this uses SPE to sample load and store operations, therefore hardware and kernel support is required. See linkperf:perf-arm-spe[1] for a setup guide. Due to the statistical nature of SPE sampling, not every memory operation will be sampled.

OPTIONS

<command>...

Any command you can specify in a shell.

-i, --input=<file>

Input file name.

-f, --force

Don’t do ownership validation

-t, --type=<type>

Select the memory operation type: load or store (default: load,store)

-D, --dump-raw-samples

Dump the raw decoded samples on the screen in a format that is easy to parse with one sample per line.

-x, --field-separator=<separator>

Specify the field separator used when dump raw samples (-D option). By default, The separator is the space character.

-C, --cpu=<cpu>

Monitor only on the list of CPUs provided. Multiple CPUs can be provided as a comma-separated list with no space: 0,1. Ranges of CPUs are specified with -: 0-2. Default is to monitor all CPUS.

-U, --hide-unresolved

Only display entries resolved to a symbol.

-p, --phys-data

Record/Report sample physical addresses

--data-page-size

Record/Report sample data address page size

RECORD OPTIONS

-e, --event <event>

Event selector. Use perf mem record -e list to list available events.

-K, --all-kernel

Configure all used events to run in kernel space.

-U, --all-user

Configure all used events to run in user space.

-v, --verbose

Be more verbose (show counter open errors, etc)

--ldlat <n>

Specify desired latency for loads event. Supported on Intel and Arm64 processors only. Ignored on other archs.

In addition, for report all perf report options are valid, and for record all perf record options.

SEE ALSO

linkperf:perf-record[1], linkperf:perf-report[1], linkperf:perf-arm-spe[1]