Linux磁盘I/O读写速度检测
1、读写测试
读取速度可以使用命令:hdparm –t 设备名(/dev/sda1) 读取速度可以使用命令也可以使用:time dd if=/dev/sda of=/dev/null bs=1M count=3 iflag=direct 写入速度使用命令:time dd if=/dev/zero of=/dev/sda bs=1M count=3 oflag=direct
2、hdparm命令
下载tar包的地址:https://fossies.org/linux/misc/hdparm-9.58.tar.gz/index.html
下载其他tar包地址:https://fossies.org/linux/misc/
1)解压tar包,进入解压后的目录
2)make
3)make install
参 数: -a<快取分区> 设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定。 -A<0或1> 启动或关闭读取文件时的快取功能。 -c<I/O模式> 设定IDE32位I/O模式。 -C 检测IDE硬盘的电源管理模式。 -d<0或1> 设定磁盘的DMA模式。 -f 将内存缓冲区的数据写入硬盘,并清楚缓冲区。 -g 显示硬盘的磁轨,磁头,磁区等参数。 -h 显示帮助。 -i 显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。 -I 直接读取硬盘所提供的硬件规格信息。 -k<0或1> 重设硬盘时,保留-dmu参数的设定。 -K<0或1> 重设硬盘时,保留-APSWXZ参数的设定。 -m<磁区数> 设定硬盘多重分区存取的分区数。 -n<0或1> 忽略硬盘写入时所发生的错误。 -p<PIO模式> 设定硬盘的PIO模式。 -P<磁区数> 设定硬盘内部快取的分区数。 -q 在执行后续的参数时,不在屏幕上显示任何信息。 -r<0或1> 设定硬盘的读写模式。 -S<时间> 设定硬盘进入省电模式前的等待时间。 -t 评估硬盘的读取效率(不经过磁盘cache)。 -T 平估硬盘快取的读取效率。 -u<0或1> 在硬盘存取时,允许其他中断要求同时执行。 -v 显示硬盘的相关设定。 -W<0或1> 设定硬盘的写入快取。 -X<传输模式> 设定硬盘的传输模式。 -y 使IDE硬盘进入省电模式。 -Y 使IDE硬盘进入睡眠模式。 -Z 关闭某些Seagate硬盘的自动省电功能。
例如:
[root@epd-db root]# hdparm -t /dev/sdb /dev/sdb: Timing buffered disk reads: 64 MB in 2.41 seconds = 26.56 MB/sec
[root@epd-db root]#hdparm -tT /dev/sda1
/dev/sda1: Timing cached reads: 8512 MB in 2.00 seconds = 4262.60 MB/sec Timing buffered disk reads: 222 MB in 3.02 seconds = 73.58 MB/sec