linux 分析磁盘io,blktrace命令 – 分析磁盘IO

在Linux系统上,查看磁盘的负载情况,咱们一般使用iostat监控工具。其中很重要的参数就是await,await表示单个I/O所需的平均时间,但它同时包含了I/O Scheduler所消耗的时间和硬件所消耗的时间,所以不能作为硬件性能的指标。那如何才能分辨一个io从下发到返回整个时间上,是硬件层耗时多还是在io调度上耗时多呢?如何查看io在各个时间段所消耗的时间呢?那么,blktrace在这种场合就能派上用场,因为它能记录I/O所经历的各个步骤,从中可以分析是IO Scheduler慢还是硬件响应慢,以及各个时间段所用时间。

blktrace的原理:

一个I/O请求进入block layer之后,可能会经历下面的过程:

Remap: 可能被DM(Device Mapper)或MD(Multiple Device, Software RAID) remap到其它设备

Split: 可能会因为I/O请求与扇区边界未对齐、或者size太大而被分拆(split)成多个物理I/O

Merge: 可能会因为与其它I/O请求的物理位置相邻而合并(merge)成一个I/O

被IO Scheduler依照调度策略发送给driver

被driver提交给硬件,经过HBA、电缆(光纤、网线等)、交换机(SAN或网络)、最后到达存储设备,设备完成IO请求之后再把结果发回。

语法格式:blktrace [参数]

常用参数:

-A hex-mask设置过滤信息mask成十六进制mask

-a mask添加mask到当前的过滤器

-b size指定缓存大小for提取的结果,默认为512KB

-d dev添加一个设备追踪

-k杀掉正在运行的追踪

-n num-sub指定缓冲池大小,默认为4个子缓冲区

-o file指定输出文件的名字

-r rel-path指定的debugfs挂载点

-w seconds设置运行的时间

参考实例

centos7安装blktrace(会自动生成blktrace blkparse btt 3个工具,其中,blktrace收集数据,blkparce分析数据,btt汇总数据):

[root@linuxcool ~]# yum install blktrace -y

使用blktrace需要挂载debugfs:

[root@linuxcool ~]# mount -t debugfs debugfs /sys/kernel/debug

利用blktrace查看实时数据的方法,比如要看的硬盘是sdb:

[root@linuxcool ~]# blktrace -d /dev/sdb -o – | blkparse -i –

分析磁盘/dev/sdc的IO情况:

[root@linuxcool ~]# blktrace -d /dev/sdc

生成数据: 应用结束后,手动终止监控,会生成cpu数量的文件

[root@linuxcool ~]# blkparse -i sdc -d sdc.blktrace.bin

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux 文件系统的性能分析是评估文件系统在处理数据存储和读写操作时的效率和表现的过程。性能分析可以帮助识别系统中的性能瓶颈并提供优化建议,以改进文件系统的性能。 在进行性能分析时,可以使用各种工具和技术来收集和分析性能指标。其中一种常用的方法是使用系统监控工具,如sar、top 和 iostat 等,以收集 CPU 使用率、磁盘 I/O、内存使用量等性能指标。这些指标可以显示文件系统在不同方面的表现,并帮助排查性能问题。 另一个重要的指标是吞吐量,即文件系统在一定时间内能够处理的数据量。通过测试读写大型文件(如测试用例或负载模拟)的性能,可以了解文件系统的吞吐量。 此外,还可以通过分析文件系统的延迟来评估性能。延迟是指读写操作与响应的时间差,较低的延迟表示更高的性能。使用工具如blktrace和ftrace,可以追踪文件系统操作的延迟和处理时间,帮助确定是否存在性能瓶颈。 还需要关注文件系统的缓存机制。缓存可以提高文件系统的读写性能,通过将最常访问的数据存储在内存中,避免了磁盘读写操作。使用工具如vmstat和slabtop,可以监控分析系统的缓存使用情况。 最后,对于性能优化的需要,可以根据分析结果采取相应的措施。例如,根据延迟问题来调整磁盘调度器、优化缓存策略、重新规划文件系统的布局等。 总之,Linux 文件系统性能分析是评估文件系统性能和识别瓶颈的过程,通过收集和分析性能指标,可以优化文件系统的性能以满足用户需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值