数据恢复咨询热线:400-666-3702  

欢迎访问南京兆柏数据恢复公司,专业数据恢复15年

兆柏数据恢复公司

 常见问题

 当前位置: 主页 > 常见问题

解决磁盘IO读取慢全过程

浏览量: 次 发布日期:2023-09-20 15:39:02

解决磁盘IO读取慢全过程

在两台型号相同的机器上(snap1 和snap3)测试磁盘的读取速度,发现两台机器的读取速度差的很大:

接下来比较snap1和snap3两台机器上关于dm-93磁盘(raid)的以下字段输出都是一样

然后用blktrace监控一下磁盘IO处理过程:

使用blkparse查看blktrace收集的日志:

现在怀疑是snap3上读取磁盘数据时没有预读,但是检查两台机器上read_ahead_kb的值都是一样的,都是512.

没办法了,发绝招:用kprobe探测一下相关函数参数:

发现在snap3上预读磁盘的时候,rasize=0,确实在读数据时没有预读数据。

接下来仔细研读一下预读相关的代码,发现预读页与node上的内存相关:

比较一下snap1与snap3上node上的内存情况,发现snap3上node0上的内存和空闲内存都为0 ( 根因找到 :-)

发现内核中有两个patch解决了这个问题,IO的预读不再以当前cpu上node上的内存情况来判断:

相关推荐