看了通过blktrace, debugfs分析磁盘IO大作,试图自己搞一把。花了1个多小时,果然能成功地定位到了正写入的文件。觉得有以下几点值得特别说一下:
1、用debugfs,无论icheck或ncheck,都非常耗时,并且会产生非常高的disk read。我等了将近有10分钟
rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
cciss/c0d1 21880.00 0.00 432.00 0.00 178752.00 0.00 413.78 0.95 2.21 2.18 94.20
cciss/c0d1p1 21880.00 0.00 432.00 0.00 178752.00 0.00 413.78 0.95 2.21 2.18 94.20
2、真的实际要对hot file disk IO进行诊断,其实需要对blkparse的结果进行处理,需要对相同设备的相同、临近扇区号进行聚合(假设顺序读写)
3、arrowpig同学发现,对于ext4在journey开时做debugfs还有些问题,主要是ext4总是先写journey的一个缓存区,导致debugfs总是看到同一inode号(inode=8)。不知这个应该如何解决?
[op1@SVR2084HP360 ~]$ sudo blktrace /dev/cciss/c0d1p1
BLKTRACESTOP: Invalid argumentDevice: /dev/cciss/c0d1p1
CPU 0: