block_dump观察Linux IO写入的具体文件

http://www.oenhan.com/block-dump-linux-io

使用步骤:
1、停掉syslog功能
因为具体IO数据要通过printk输出,如果syslog存在,则会往message产生大量IO,干扰正常结果。
[root@CentOS ~]# service syslog stop

2、启动block_dump
[root@CentOS ~]# echo 1 > /proc/sys/vm/block_dump

3、通过dmesg观察IO情况
通过dmesg信息可以看到IO正在写那些文件,有进程号,inode号,文件名和磁盘设备名;但每个文件写了多少呢,仅仅通过dirtied inode就看不出来了,还需要分析WRITE block,后面的数字并不是真正的块号,而是内核IO层获取的扇区号,除以8即为块号,然后根据debugfs工具的icheck和ncheck选项,就可以获取该文件系统块属于哪个具体文件,具体请google之。
通常测试的时候,可以使用脚本的方式将dmesg命令的信息重定向到一个文件中(如result),以便后续统计相关信息:
[root@CentOS ~]# cat dmesg_result
for((i=1;i<=10000;i++))
do
sleep 1
dmesg -c >> result_20150210

done
#此脚本的作用是将dmesg的信息追加写到文件result_20150210中。

4、需注意的地方
在测试磁盘的IO相关信息的时候(如通过swingbench测试oracle相关IO信息),若之前缓存中有相关信息的话,则会影响到后续的IO统计,后续IO中可能读IO会较少,因此,在执行此测试之前,建议先清缓存:
[root@CentOS ~]# echo 1 > /proc/sys/vm/drop_caches

[root@CentOS ~]# echo 3 > /proc/sys/vm/drop_caches  # 此命令会清得干净些,这个有几个不同的等级,具体可以百度之

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值