You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
2.4 KiB
50 lines
2.4 KiB
Demonstrations of biosnoop, the Linux eBPF/bcc version.
|
|
|
|
|
|
biosnoop traces block device I/O (disk I/O), and prints a line of output
|
|
per I/O. Example:
|
|
|
|
# ./biosnoop
|
|
TIME(s) COMM PID DISK T SECTOR BYTES LAT(ms)
|
|
0.000004001 supervise 1950 xvda1 W 13092560 4096 0.74
|
|
0.000178002 supervise 1950 xvda1 W 13092432 4096 0.61
|
|
0.001469001 supervise 1956 xvda1 W 13092440 4096 1.24
|
|
0.001588002 supervise 1956 xvda1 W 13115128 4096 1.09
|
|
1.022346001 supervise 1950 xvda1 W 13115272 4096 0.98
|
|
1.022568002 supervise 1950 xvda1 W 13188496 4096 0.93
|
|
1.023534000 supervise 1956 xvda1 W 13188520 4096 0.79
|
|
1.023585003 supervise 1956 xvda1 W 13189512 4096 0.60
|
|
2.003920000 xfsaild/md0 456 xvdc W 62901512 8192 0.23
|
|
2.003931001 xfsaild/md0 456 xvdb W 62901513 512 0.25
|
|
2.004034001 xfsaild/md0 456 xvdb W 62901520 8192 0.35
|
|
2.004042000 xfsaild/md0 456 xvdb W 63542016 4096 0.36
|
|
2.004204001 kworker/0:3 26040 xvdb W 41950344 65536 0.34
|
|
2.044352002 supervise 1950 xvda1 W 13192672 4096 0.65
|
|
2.044574000 supervise 1950 xvda1 W 13189072 4096 0.58
|
|
|
|
This includes the PID and comm (process name) that were on-CPU at the time of
|
|
issue (which usually means the process responsible).
|
|
|
|
The latency of the disk I/O, measured from the issue to the device to its
|
|
completion, is included as the last column.
|
|
|
|
This example output is from what should be an idle system, however, the
|
|
following is visible in iostat:
|
|
|
|
$ iostat -x 1
|
|
[...]
|
|
avg-cpu: %user %nice %system %iowait %steal %idle
|
|
0.12 0.00 0.12 0.00 0.00 99.75
|
|
|
|
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s await svctm %util
|
|
xvda 0.00 0.00 0.00 4.00 0.00 16.00 0.00 0.00 0.00
|
|
xvdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
|
|
xvdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
|
|
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
|
|
|
|
There are 4 write IOPS.
|
|
|
|
The output of biosnoop identifies the reason: multiple supervise processes are
|
|
issuing writes to the xvda1 disk. I can now drill down on supervise using other
|
|
tools to understand its file system workload.
|