1runqlat.bt(8) System Manager's Manual runqlat.bt(8)
2
3
4
6 runqlat.bt - CPU scheduler run queue latency as a histogram. Uses bpf‐
7 trace/eBPF.
8
10 runqlat.bt
11
13 This traces time spent waiting in the CPU scheduler for a turn on-CPU.
14 This metric is often called run queue latency, or scheduler latency.
15 This tool shows this latency as a power-of-2 histogram in nanoseconds,
16 allowing multimodal distributions to be studied, as well as latency
17 outliers.
18
19 This tool uses the sched tracepoints.
20
21 Since this uses BPF, only the root user can use this tool.
22
24 CONFIG_BPF and bpftrace.
25
27 Trace CPU run queue latency system wide, printing a histogram on Ctrl-
28 C:
29 # runqlat.bt
30
32 1st, 2nd
33 This is a range of latency, in microseconds (shown in "[...)"
34 set notation).
35
36 3rd A column showing the count of scheduler events in this range.
37
38 4th This is an ASCII histogram representing the count column.
39
41 This traces scheduler functions, which can become very frequent. While
42 eBPF has very low overhead, and this tool uses in-kernel maps for effi‐
43 ciency, the frequency of scheduler events for some workloads may be
44 high enough that the overhead of this tool becomes significant. Measure
45 in a lab environment to quantify the overhead before use.
46
48 This is from bpftrace.
49
50 https://github.com/iovisor/bpftrace
51
52 Also look in the bpftrace distribution for a companion _examples.txt
53 file containing example usage, output, and commentary for this tool.
54
55 This is a bpftrace version of the bcc tool of the same name. The bcc
56 tool may provide more options and customizations.
57
58 https://github.com/iovisor/bcc
59
61 Linux
62
64 Unstable - in development.
65
67 Brendan Gregg
68
70 runqlen.bt(8), mpstat(1), pidstat(1), uptime(1)
71
72
73
74USER COMMANDS 2018-09-17 runqlat.bt(8)