linux 测试flash磁盘io读写速度


写磁盘速度测试
time dd if=/dev/zero of=/testw.dbf bs=4k count=100k conv=fsync
读磁盘速度测试
time dd if=/testw.dbf of=/dev/null bs=4k

 

其中/dev/zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。

/testw.dbf是一个物理分区,对它的读取会产生IO,/dev/null是伪设备,相当于黑洞,of到该设备不会产生IO,所以,这个命令的IO只发生在/testw.dbf上,也相当于测试磁盘的读能力

 

conv=fsync 比较准备,他在dd结束前会写到磁盘,

oflag=dsync或者sync 是真正的每写一次就写一次磁盘,所以其实可以听到磁盘啪啪啪的响的。

如果要规避掉文件系统cache,直接读写,不使用buffer cache,需做这样的设置
iflag=direct,nonblock
oflag=direct,nonblock
iflag=cio
oflag=cio
direct 模式就是把写入请求直接封装成io 指令发到磁盘
非direct 模式,就把数据写入系统缓存,然后就认为io 成功,并由操作系统决定缓存中的数据什么时候被写入磁盘

原创文章,作者:wdmbts,如若转载,请注明出处:https://blog.ytso.com/274514.html

(0)
上一篇 2022年7月15日
下一篇 2022年7月15日

相关推荐

发表回复

登录后才能评论