llcstat - Summarize CPU cache references and misses by process. Uses Linux eBPF/bcc.
Contents
Description
llcstat instruments CPU cache references and cache misses system-side, and summarizes them by PID and
CPU. These events have different meanings on different architecture. For x86-64, they mean misses and
references to LLC. This can be useful to locate and debug performance issues caused by cache hit rate.
This works by sampling corresponding events defined in uapi/linux/perf_event.h, namely
PERF_COUNT_HW_CACHE_REFERENCES and PERF_COUNT_HW_CACHE_MISSES, using BPF perf event tracing. Upon each
sampled event, the attached BPF program records the PID and CPU ID on which the event happened, and
stores it in table.
This makes use of a Linux 4.9 feature (BPF_PROG_TYPE_PERF_EVENT).
Since this uses BPF, only the root user can use this tool.
Examples
Sample one in 100 events, trace for 20 seconds:
# llcstat-c10020Fields
PID Process ID
NAME Process name
CPU CPU ID
REFERENCE
Number of cache reference events
MISS Number of cache miss events
HIT% Cache hit ratio
Name
llcstat - Summarize CPU cache references and misses by process. Uses Linux eBPF/bcc.
Options
-h Print usage message.
-c SAMPLE_PERIOD
Sample one in this many cache reference and cache miss events.
-t Summarize cache references and misses by PID/TID
duration
Duration to trace, in seconds.
Os
Linux
Requirements
CONFIG_BPF and bcc.
See Also
Perf can be used as a generic event counter tool. An example for LLC:
# perftop-ecache-misses-ecache-references-a-nspid,cpu,comm
USER COMMANDS 2015-08-18 llcstat(8)
Source
This is from bcc.
https://github.com/iovisor/bcc
Also look in the bcc distribution for a companion _examples.txt file containing example usage, output,
and commentary for this tool.
Stability
Unstable - in development.
Synopsis
llcstat[-h][-cSAMPLE_PERIOD][duration]
