Measuring performance with the perf kernel tool
Reading Matter
You will quickly find numerous resources for perf
on the web. First and foremost certainly are Brendan Gregg's [6] pages; Gregg worked on DTrace at Sun and now uses perf
intensively at Netflix in his work as a performance engineer. His book System Performance [7] is regarded as one of the standard works in this field.
Many admins and developers have discovered that better knowledge of perf
leads to faster problem analysis. Some development environments also include perf
, and a few training providers offer perf
training. It seems clear that performance optimization will continue to play an important role in system administration in the future. BPFtrace (see box "BPFtrace," [8]) might be the next exciting project in the pipeline.
BPFtrace
Early in the fall of 2018, Alastair Robertson published the high-level BPFtrace [8] language, which runs in the eBPF VM of the Linux kernel. This allows the kernel to start certain operations, such as filter processes, directly in kernel space, which avoids the need for context switching between kernel and user space and thus puts significantly less strain on the system.
Infos
- OProfile: http://oprofile.sourceforge.net
- SystemTap: https://sourceware.org/systemtap/
- Official kernel documentation for perf: https://perf.wiki.kernel.org/index.php/Main_Page
- perf subcommands: https://perf.wiki.kernel.org/index.php/Tutorial
- Flame graph script: https://github.com/brendangregg/FlameGraph
- Brendan Gregg on perf: http://www.brendangregg.com/perf.html
- Gregg, Brendan. System Performance. Prentice Hall, 2012: http://www.brendangregg.com/sysperfbook.html
- BPFtrace: https://github.com/iovisor/bpftrace/
« Previous 1 2 3 4
Buy this article as PDF
(incl. VAT)