免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6820 | 回复: 1
打印 上一主题 下一主题

blktrace使用简析,系统IO分析 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-02-23 20:29 |只看该作者 |倒序浏览

blktrace使用简析(2009-05-31 11:11:06)

blktrace是一个针对Linux内核中块设备I/O层的跟踪工具,是由Linux内核块设备层的维护者开发的,目前已经集成到内核2.6.17及其之后的内核版本中。通过使用这个工具,使用者可以获取I/O请求队列的各种详细的情况,包括进行读写的进程名称、进程号、执行时间、读写的物理块号、块大小等等,是一个Linux下分析I/O相关内容的很好的工具,在使用时基本上只会占用系统2%的资源,下面主要说一下本人在blktrace上手时的一些心得。
    因为blktrace已经集成到2.6.17及其之后的版本中,所以一般比较新的系统版本都无需下载,本人使用的是Fedora 8,内核版本为2.6.23,但是此工具并未安装,所以需要在使用前安装blktrace:
yum install blktrace
通过以上命令安装完成后,需要手工设定debug文件系统,命令如下:
mount -t debugfs debugfs /sys/kernel/debug
这样blktrace就可以成功运行了。
    blktrace的运行命令可以包括许多的详细配置,一一列举起来实在太多,而且没有必要,下面通过几个例子来直观的说明常用的几个监测功能:
运行命令1:
blktrace -d /dev/sda -o - |blkparse -i -
此命令是将blktrace的结果输出到屏幕,然后blkparse将屏幕中的blktrace的结果作为分析的输入,最后将分析的结果同样输出到屏幕。这里需要指出的是,blkparse是基于blktrace的分析工具,因为blktrace本身并不具有分析功能,它只是进行监测,其余的工作都是由blkparse来进行的。
运行命令2:
blktrace -d /dev/sda |blkparse -i -
此命令是将blktrace的结果输出到本地文件夹,文件名为sda.blktrace.0和sda.blktrace.1,这里之所以有两个文件是因为运行机器有两个CPU的缘故,blktrace根据CPU的个数来生成文件,对应每个CPU都有一个相应的监测数据文件。
运行命令3:
blktrace -d /dev/sda -o trace |blkparse -i -
此命令是将blktrace的结果输出到已经事先指定好的文件trace中,注意这个trace文件必须在本地文件夹中存在,无需带有任何后缀。运行之后会产生两个新的文件叫做trace.blktrace.0和trace.blktrace.1。
blkparse -i trace
此命令是将trace文件作为blkparse的输入,blkparse的结果依然输出到屏幕。
blkparse -i trace -o /root/trace.txt
此命令是将trace文件作为blkparse的输入,同时将分析结果输出到/root/trace.txt这个文件,以便人工进行更加深入的分析,因为trace文件是人眼不可读的,所以如果要进行更多后续的人工或程序处理最好还是将结果转化为文本文档来处理。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/111930/showart_2185390.html

论坛徽章:
0
2 [报告]
发表于 2010-03-09 16:46 |只看该作者
好工具,呵呵 不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP