perf_mem_report
Profile memory access latencies and data source (L1/L2/L3/DRAM) to identify cache-miss-heavy code and NUMA-unfriendly patterns.
Instructions
Memory access profiling: data source (L1/L2/L3/DRAM), latency, and load/store breakdown.
Use this to find cache-miss-heavy code or NUMA-unfriendly access patterns.
Key parameters:
sort: sort key for the histogram.
type: 'load' or 'store' to filter access type.
ldlat: load latency threshold in CPU cycles.
type_profile: show data type profile (DWARF-based).
phys_data: show physical memory addresses.
Output: memory access histogram with data source breakdown. Requires: perf mem record (or perf record -d).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cpu | No | CPUs to filter | |
| sort | No | Sort by key(s) | |
| type | No | Memory operation type | |
| event | No | Event selector | |
| force | No | Don't complain, do it | |
| input | Yes | Path to perf.data file | |
| ldlat | No | Load latency threshold in cycles | |
| verbose | No | Verbosity level (0-2) | |
| vmlinux | No | vmlinux pathname | |
| all_user | No | Only show user space entries | |
| phys_data | No | Show physical address data | |
| all_kernel | No | Only show kernel space entries | |
| type_profile | No | Show data type profile | |
| data_page_size | No | Show data page size | |
| field_separator | No | Field separator | |
| hide_unresolved | No | Only display entries resolved to a symbol | |
| dump_raw_samples | No | Dump raw samples in ASCII |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |