author:skate
time:2012/04/11
io系统的监控工具-blktrace
blktrace是一个可以显示block的io详细信息的工具,但他的输出信息太专业了,很难看懂,可以同通过blkiomon、blkparse等工具来查看。
下载
[root@dhdb tmp]# wget
ftp://mirror.switch.ch/pool/3/mirror/centos/5.8/os/x86_64/CentOS/blktrace-1.0.0-6.el5.x86_64.rpm
--14:20:16--
ftp://mirror.switch.ch/pool/3/mirror/centos/5.8/os/x86_64/CentOS/blktrace-1.0.0-6.el5.x86_64.rpm
=> `blktrace-1.0.0-6.el5.x86_64.rpm'
Resolving mirror.switch.ch... 130.59.10.36, 2001:620:0:8::20
Connecting to mirror.switch.ch|130.59.10.36|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /pool/3/mirror/centos/5.8/os/x86_64/CentOS ... done.
==> SIZE blktrace-1.0.0-6.el5.x86_64.rpm ... 809191
==> PASV ... done. ==> RETR blktrace-1.0.0-6.el5.x86_64.rpm ... done.
Length: 809191 (790K)
100%[===========================================================================================>] 809,191 34.5K/s in 21s k
14:20:47 (37.0 KB/s) - `blktrace-1.0.0-6.el5.x86_64.rpm' saved [809191]
或者直接通过yum下载
[root@dhdb tmp] yum -y install blktrace
查看下载的文件
[root@dhdb tmp]# ll
total 7044
-rw-r--r-- 1 root root 809191 Apr 11 14:20 blktrace-1.0.0-6.el5.x86_64.rpm
-rw-r--r-- 1 root root 649605 Apr 2 23:58 dhdb_120402_0000.nmon
-rw-r--r-- 1 root root 649687 Apr 3 23:58 dhdb_120403_0000.nmon
安装文件
[root@dhdb tmp]# rpm -ivh blktrace-1.0.0-6.el5.x86_64.rpm
warning: blktrace-1.0.0-6.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
Preparing... ########################################### [100%]
1:blktrace ########################################### [100%]
[root@dhdb tmp]#
开始测试
[root@dhdb tmp]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 38G 24G 13G 65% /
/dev/sda1 4.8G 143M 4.4G 4% /boot
tmpfs 7.9G 0 7.9G 0% /dev/shm
/dev/sda8 1.3T 1.2T 13G 99% /oracle
/dev/sda7 9.5G 158M 8.9G 2% /tmp
/dev/sda6 9.5G 4.3G 4.8G 48% /usr
/dev/sda5 19G 540M 18G 3% /var
[root@dhdb tmp]# blktrace /dev/sda -a issue -a complete -w 120 -o - | blkiomon -I 2 -h -
/sys/kernel/debug does not appear to be a debug filesystem
报这个错误的原因是blktrace在接受kernel数据时,并要存储在debugfs文件系统上,所以按如下挂载即可
[root@dhdb tmp]# mount -t debugfs none /sys/kernel/debug
对设备/dev/sda的io监控180秒,每10秒显示一次
[root@dhdb tmp]# blktrace /dev/sda -a issue -a complete -w 180 -o - | blkiomon -I 10 -h -
time: Wed Apr 11 14:31:29 2012
device: 8,0
sizes read (bytes): num 2, min 4096, max 4096, sum 8192, squ 33554432, avg 4096.0, var 0.0
sizes write (bytes): num 53, min 4096, max 28672, sum 655360, squ 9730785280, avg 12365.3, var 30699498.1
d2c read (usec): num 2, min 321, max 45066, sum 45387, squ 2031047397, avg 22693.5, var 500528756.2
d2c write (usec): num 53, min 42, max 164, sum 4353, squ 396051, avg 82.1, var 727.0
throughput read (bytes/msec): num 2, min 90, max 12760, sum 12850, squ 162825700, avg 6425.0, var 40132225.0
throughput write (bytes/msec): num 53, min 40554, max 263045, sum 8334568, squ 1560140448150, avg 157256.0, var 4707162693.2
sizes histogram (bytes):
0: 0 1024: 0 2048: 0 4096: 12
8192: 12 16384: 30 32768: 1 65536: 0
131072: 0 262144: 0 524288: 0 1048576: 0
2097152: 0 4194304: 0 8388608: 0 > 8388608: 0
d2c histogram (usec):
0: 0 8: 0 16: 0 32: 0
64: 11 128: 37 256: 5 512: 1
1024: 0 2048: 0 4096: 0 8192: 0
16384: 0 32768: 0 65536: 1 131072: 0
262144: 0 524288: 0 1048576: 0 2097152: 0
4194304: 0 8388608: 0 16777216: 0 33554432: 0
>33554432: 0
bidirectional requests: 0
说明
sizes read (bytes):
num 2 :表示read 2次io
min 4096:表示read最小io 4096bytes
max 4096:表示read最大io 4096bytes
sum 8192:表示read总共io 8192bytes
avg 4096.0:表示read平均io大小 4096bytes
d2c write (usec)
num 53:表示write 53次io
min 42:表示最小write io的响应时间是42微秒
max 164:表示最大write io的响应时间是164微秒
sum 4353:表示write总共io响应时间是 4353微秒
avg 82.1:表示write io平均响应时间是82.1微秒
d2c histogram是io响应时间的分布图,256毫秒以内的io次数是53(11+37+5=53),从上面的响应时间分布图可以看到
写的io最快响应时间是42微秒,最慢的响应延迟164微秒,所以这53个io里大部分都是写io。
如果没有io活动,可以通过dd命令来模拟io活动
在一个窗口
[root@dhdb tmp]# dd if=/dev/zero of=skate.dat bs=4096 count=1000
另一个窗口监控
[root@dhdb tmp]# blktrace /dev/sda -a issue -a complete -w 180 -o - | blkiomon -I 10 -h -
参考:
http://blog.yufeng.info/archives/1786
blktrace帮助文档
----end------
分享到:
相关推荐
blktrace监控系统IO工具,可以跟踪IO使用情况,及IO的性能,提供有利的IO证据,说服用户更换高性能存储设备。
Linux下block层的监控工具blktrace +btt btt的使用命令及步骤.pdf gelato_ICE06apr_blktrace_brunelle_hp.pdf Linux下block层的监控工具blktrace .pdf 了解IO协议栈.pptx
Linux-IO性能优化基础工具和实践: 基础篇-Linux IO stack overview 基础篇-read syscall IO stack 工具篇-iostat数据可靠吗 工具篇-blktrace原理和应用 工具篇-debugfs应用 Cache server机械盘IO性能瓶颈分析 实践...
blktrace-1.0.1-6.el6.i686.rpm是centos工具包。
官方离线安装包,亲测可用
离线安装包,亲测可用
离线安装包,亲测可用
离线安装包,测试可用
blktrace 使用文档 ppt pdf
官方离线安装包,亲测可用
blktrace是linux下用来排查IO性能的工具。它可以记录IO经历的各个步骤,并计算出IO请求在各个阶段的消耗,下面是关键的一些步骤: Q2G – 生成IO请求所消耗的时间,包括remap和split的时间; G2I – IO请求进入IO ...
CBT使用collectl记录系统指标,它可以选择使用许多工具来收集更多信息,包括perf,blktrace和valgrind。 除基本基准测试外,CBT还可以进行高级测试,包括自动OSD中断,擦除编码池和缓存层配置。 主要的基准测试模块...
更具体的工具,如 iostat、iotop、blktrace、iozone、vmstat、slabtop、pidstat、lsof 和 mpstat; 面向网络的工具,如 mtr、tcpdump、nicstat、iftop、iperf、ethtool 和 iproute2 工具; 以及用于跟踪的 strace/...
从2.6.15的内核开始,顶层目录下面有了一个叫做...Kconfig Makefile blktrace.c deadline-iosched.c genhd.c ll_rw_blk.c scsi_ioctl.c Kconfig.iosched as-iosched.c cfq-iosched.c elevator.c ioctl.c noop-iosched.c
linux db2 安装过程中可能缺少的 libaio 安装文件
大部分在我日常工具箱里或者在实践的案例里面使用过,都有很高的价值,这里方便大家索引下: nicstat:参见这里 oprofile:参见这里 perf:参见这里 systemtap:参见这里 iotop:参见这里 blktrace:参见这里 ...
blktrace output analysis: generate a timeline & gather statistics.
控制CPU状态,可打开所有CPU,可使用于blktrace收集物理机上的数据请求