带着dd去探索Linux磁盘IO

本文通过dd工具的测试,探讨Linux磁盘I/O的层次结构,包括虚拟文件系统、文件系统、缓存层、通用块层、I/O调度层和驱动层的作用。分析oflag参数如何影响I/O速度,并解释了直接I/O、同步I/O与缓冲I/O的差异。
摘要由CSDN通过智能技术生成

前言:
Linux磁盘I/O是Linux内核的重要组成部分,是Linux开发工程师,特别是Linux存储开发工程师必须了解的一课。掌握了这一课,在遇到磁盘I/O相关问题时便会得心应手,缺席了这一课,遇到它时便会觉得云里雾里。dd是Linux的一款简单易用又功能强大的文件拷贝工具,大家再熟悉不过了,今天就带着它一起去探索Linux的磁盘I/O知识吧。

dd测试

首先看一下一份dd的测试数据,先感受下不同参数下dd的测试结果,然后带着疑问再去探索其中的原由。
在这里插入图片描述
在这里插入图片描述

从上面的测试结果可以看到,没有oflag的时候,文件复制速度是oflag=direct的十几倍,oflag=direct的速度又比oflag=sync快了将近30%。dd使用oflag设置输出文件的标志位,oflag的标志位可以是direct、sync、dsync等等,造成它们处理速度如此巨大是什么原因呢,这就是我们今天要探究的知识,让我们开始吧。

Linux磁盘I/0体系

先看一张Linux的存储栈图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值