【Linux】BCC 工具使用
本实验参照该实验手册:linux-tracing-workshop
1. 缓慢的文件I/O
尝试跟踪由于I/O操作缓慢而表现出延迟的应用程序
编译并运行应用程序: 首先运行以下命令来编译logger
应用程序,让其在后台执行
[root@rumia linux-tracing-workshop-master]$ gcc -g -fno-omit-frame-pointer -O0 -pthread logger.c -o logger
[root@rumia linux-tracing-workshop-master]$./logger
收集I/O延迟信息: 在/bcc/tools
目录下执行.能够快速看到logger
应用程序执行的一些较大的I/O 比其他较小的I/O花费的时间更长
[root@rumia tools]$ ./biosnoop.py
TIME(s) COMM PID DISK T SECTOR BYTES LAT(ms)
0.000000 logger 28988 sda W 16668104 262144 2.75
0.000024 logger 28988 sda W 16668616 262144 2.75
0.000047 logger 28988 sda W 16669128 262144 2.77
0.000282 logger 28988 sda W 16669640 262144 2.99
0.001292 logger 28988 sda W 10504856 4096 0.75
0.011483 logger 28988 sda W 17394904 4096 0.94
0.012350 logger 28988 sda W 10504864 4096 0.73
观察文件I/O操作缓慢: 查看它正在写哪些文件,哪些操作所需的时间比其他时间长
[root@rumia tools]$ ./fileslower.py 1
Tracing sync read/writes slower than 1 ms
TIME(s) COMM TID D BYTES LAT(ms) FILENAME
0.023 logger 28988 W 1024 1.94 log.data
0.041 logger 28989 W 1048576 6.15 flush.data
0.044 logger 28988 W 1024 1.61 log.data
0.066