北京房产网 > 北京房产问答 > 如何测试Linux磁盘的读写速度

如何测试Linux磁盘的读写速度

全部1个回答

  • 头像
    1****b 热心网友

    用法: 1.测试IO读 hdparm -t --direct devsda3 IO读用上面的命令测试即可,不过 hdparm 这个工具需要自己安装,而且需要root用户去执行。 2.测试IO写 sync;usrbintime -p bash -c "(dd if=devzero of=test.dd bs=1000K count=20190;sync)" dd bs=1M count=20190 if=devzero of=test.dd conv=fdatasync dd命令测试是IO的顺序写和读方式。 3.查看文件系统块大小 tune2fs -l devsda1 | grep Block 上面的命令行有些复杂,做下详细的解释: (1)sync 命令用来刷新文件系统的缓冲区,执行sync命令实际的作用是把内存中的数据缓冲写入到磁盘中。 先执行下sync命令,是为了减少对后面测试的影响。也可以使用 echo 3 > procsysvmdrop_caches 来清除缓存。 (2)time 命令用来测试命令的执行时间,shell内建还有一个time命令,我们这里使用全路径来指定使用的是非内建命令。 -p 选项设置时间的输出格式为POSIX缺省时间格式,单位是秒,在后面的测试小节可以看到time -p 的输出形式。 (3)bash 命令 -c 选项的作用是将后面的字符串参数当作bash脚本来执行,看起来有些画蛇添足,好像直接执行也是可行的, 其实不然,因为后面字符串中包含了两条命令行,而time命令需要统计这两条命令行的执行时间。 (4)小括号的意思是另起一个子进程来执行括号中的脚本,dd 这条命令行这里就不讲了,不知道的话Baidu吧。 重点是sync命令,因为当dd退出时,这条命令行提交的大部分内容都在内存缓冲区(写缓存),甚至如果机器的内存相比于你提交的数据要大得多, 那可能数据都在内存中,而再执行sync才能将内存中的数据写入到磁盘中,否则就成了测试内存的写速度,那显然不是你想要的结果。

共 1 条 上一页 1 下一页 >

相关问题

免责声明:本站问答频道内容均来源于互联网用户,本站对其内容不负责任,如有版权或其他问题可以联系本站编辑删除信息。