在Linux中可以用hdparm
命令来测试硬盘速度。
安装
ubuntu
sudo apt install hdparm
centos
sudo yum install hdparm
使用
hdparm -tT /dev/sda
- -t: 执行设备读取时序
- -T: 执行缓存读取时间
- /dev/sda: 硬盘设备文件
为了检测更精准,这个操作应该重复2-3次 。这显示了无需访问磁盘,直接从 Linux 缓冲区缓存中读取的速度。这个测量实际上是被测系统的处理器、高速缓存和存储器的吞吐量的指标。这是一个 for 循环的例子,连续运行测试 5 次:
for i in 1 2 3 4 5; do hdparm -tT /dev/sda; done
/dev/sda:
Timing cached reads: 16310 MB in 1.99 seconds = 8198.86 MB/sec
Timing buffered disk reads: 432 MB in 3.01 seconds = 143.62 MB/sec
/dev/sda:
Timing cached reads: 16492 MB in 1.99 seconds = 8289.34 MB/sec
Timing buffered disk reads: 748 MB in 3.00 seconds = 249.00 MB/sec
/dev/sda:
Timing cached reads: 15774 MB in 1.99 seconds = 7926.59 MB/sec
Timing buffered disk reads: 374 MB in 3.00 seconds = 124.58 MB/sec
/dev/sda:
Timing cached reads: 16544 MB in 1.99 seconds = 8315.83 MB/sec
Timing buffered disk reads: 384 MB in 3.01 seconds = 127.78 MB/sec
/dev/sda:
Timing cached reads: 15244 MB in 1.99 seconds = 7658.94 MB/sec
Timing buffered disk reads: 390 MB in 3.01 seconds = 129.77 MB/sec
更多参数解析
- -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 评估硬盘的读取效率。
- -T 评估硬盘快取的读取效率。
- -u<0或1> 在硬盘存取时,允许其他中断要求同时执行。
- -v 显示硬盘的相关设定。
- -W<0或1> 关闭/开启磁盘的写入缓存,每个盘都有读取缓存和写入缓存,有时我们关闭磁盘写入缓存的效率高于开启磁盘写入缓存的效率,那当然选择前者了。
- -X<传输模式> 设定硬盘的传输模式。
- -y 使IDE硬盘进入省电模式。
- -Y 使IDE硬盘进入睡眠模式。
- -Z 关闭某些Seagate硬盘的自动省电功能。