forked from iovisor/bcc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
runqslower_example.txt
49 lines (37 loc) · 1.7 KB
/
runqslower_example.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Demonstrations of runqslower, the Linux eBPF/bcc version.
runqslower shows high latency scheduling times between tasks being
ready to run and them running on CPU after that. For example:
# runqslower
Tracing run queue latency higher than 10000 us
TIME COMM PID LAT(us)
04:16:32 cc1 12924 12739
04:16:32 sh 13640 12118
04:16:32 make 13639 12730
04:16:32 bash 13655 12047
04:16:32 bash 13657 12744
04:16:32 bash 13656 12880
04:16:32 sh 13660 10846
04:16:32 gcc 13663 12681
04:16:32 make 13668 10814
04:16:32 make 13670 12988
04:16:32 gcc 13677 11770
04:16:32 gcc 13678 23519
04:16:32 as 12999 20541
[...]
This shows various processes waiting for available CPU during a Linux kernel
build. By default the output contains delays for more than 10ms.
These delays can be analyzed in depth with "perf sched" tool, see:
* http://www.brendangregg.com/blog/2017-03-16/perf-sched.html
USAGE message:
# ./runqslower -h
usage: runqslower.py [-h] [-p PID] [min_us]
Trace high run queue latency
positional arguments:
min_us minimum run queue latecy to trace, in ms (default 10000)
optional arguments:
-h, --help show this help message and exit
-p PID, --pid PID trace this PID only
examples:
./runqslower # trace run queue latency higher than 10000 us (default)
./runqslower 1000 # trace run queue latency higher than 1000 us
./runqslower -p 123 # trace pid 123 only