Linux命令之hdparm-测试硬盘速度

发布时间:2019-10-17编辑:脚本学堂
hdparm命令,在linux中是用于测试硬盘速度及其它信息的命令,很实用。本文为大家详细介绍hdparm命令的用法,有需要的朋友参考下吧。

功能说明:显示与设定硬盘的参数。
语法:hdparm [-CfghiIqtTvyYZ][-a <快取分区>][-A <0或1>][-c ][-d <0或1>][-k <0或1>][-K <0或1>][-m <分区数>][-n <0或1>][-p ][-P <分区数>][-r <0或1>][-S <时间>][-u <0或1>][-W <0或1>][-X <传输模式>][设备]

补充说明:hdparm可检测,显示与设定IDE或SCSI硬盘的参数。

测试各硬盘读取速度判断硬盘故障
在服务端命令窗口中执行如下命令
 

复制代码 代码示例:
hdparm -t /dev/hda (IDE硬盘)
hdparm -t /dev/sda (SATA、SCSI、硬RAID卡阵列)
hdparm -t /dev/md0 (软RAID设备)

测试结果在空载情况下应 >40M/s ,在负载情况下平均应 > 20M/s 为正常,如测试结果极低则需要进一步使用硬盘专用检测工具测试是否为硬盘故障。

参数:
 

-a<快取分区> 设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定。
-A<0或1> 启动或关闭读取文件时的快取功能。
-c 设定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模式。
-P<磁区数> 设定硬盘内部快取的分区数。
-q 在执行后续的参数时,不在屏幕上显示任何信息。
-r<0或1> 设定硬盘的读写模式。
-S<时间> 设定硬盘进入省电模式前的等待时间。
-t 评估硬盘的读取效率。
-T 平谷硬盘快取的读取效率。
-u<0或1> 在硬盘存取时,允许其他中断要求同时执行。
-v 显示硬盘的相关设定。
-W<0或1> 设定硬盘的写入快取。
-X<传输模式> 设定硬盘的传输模式。
-y 使IDE硬盘进入省电模式。
-Y 使IDE硬盘进入睡眠模式。
-Z 关闭某些Seagate硬盘的自动省电功能。

附,hdparm硬盘参数显示和设置的例子参考。

显示硬盘的相关设置
 

复制代码 代码示例:
[root@ff110 ~]# hdparm /dev/sda
/dev/sda:
IO_support = 0 (default 16-bit)
readonly = 0 (off)
readahead = 256 (on)
geometry = 19929[柱面数]/255[磁头数]/63[扇区数], sectors = 320173056[总扇区数], start = 0[起始扇区数]

显示硬盘的柱面、磁头、扇区数
 

复制代码 代码示例:
[root@ff110 ~]# hdparm -g /dev/sda
/dev/sda:
geometry = 19929[柱面数]/255[磁头数]/63[扇区数], sectors = 320173056[总扇区数], start = 0[起始扇区数]

评估硬盘的读取效率
 

复制代码 代码示例:
[root@ff110 ~]# hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 166 MB in 3.03 seconds = 54.85 MB/sec
[root@ff110 ~]# hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 160 MB in 3.01 seconds = 53.11 MB/sec
[root@ff110 ~]# hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 166 MB in 3.00 seconds = 55.31 MB/sec

评估硬盘快取的读取效率
 

复制代码 代码示例:
[root@ff110 ~]# hdparm -T /dev/sda
/dev/sda:
Timing cached reads: 3784 MB in 2.00 seconds = 1894.60 MB/sec
[root@ff110 ~]# hdparm -T /dev/sda
/dev/sda:
Timing cached reads: 3816 MB in 2.00 seconds = 1909.06 MB/sec
[root@ff110 ~]# hdparm -T /dev/sda
/dev/sda:
Timing cached reads: 3728 MB in 2.00 seconds = 1866.29 MB/sec

检测IDE硬盘的电源管理模式
 

复制代码 代码示例:
[root@ff110 ~]# hdparm -C /dev/sda
/dev/sda:
drive state is: standby [省电模式]

显示IDE硬盘的内定硬件规格
 

复制代码 代码示例:
[root@ff110 ~]# hdparm -i /dev/sda

直接检测硬盘的硬件规格
 

复制代码 代码示例:
[root@ff110 ~]# hdparm -I /dev/sda
/dev/sda:
ATA device, with non-removable media
Model Number: Maxtor 6B160M0
Serial Number: B404PTJH
Firmware Revision: BANC1BM0
Standards:
Supported: 7 6 5 4
Likely used: 7
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 268435455
LBA48 user addressable sectors: 320173056
device size with M = 1024*1024: 156334 MBytes
device size with M = 1000*1000: 163928 MBytes (163 GB)
Capabilities:
LBA, IORDY(can be disabled)
Queue depth: 32
Standby timer values: spec’d by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 16
Advanced power management level: unknown setting (0x0000)
Recommended acoustic management value: 192, current value: 254
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* NOP cmd
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
* Look-ahead
* Write cache
* Power Management feature set
Security Mode feature set
* SMART feature set
* FLUSH CACHE EXT command
* Mandatory FLUSH CACHE command
* Device Configuration Overlay feature set
* 48-bit Address feature set
* Automatic Acoustic Management feature set
SET MAX security extension
Advanced Power Management feature set
* DOWNLOAD MICROCODE cmd
* General Purpose Logging feature set
* SMART self-test
* SMART error logging
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
Checksum: correct

检测并设置IDE硬盘的32位I/O模式
 

复制代码 代码示例:
检测
[root@ff110 ~]# hdparm -c /dev/sda
/dev/sda:
IO_support = 0 (default 16-bit) [默认16位I/O]
设置
[root@ff110 ~]# hdparm -c 1 /dev/sda

检测并设置IDE硬盘的DMA模式
 

复制代码 代码示例:
[root@ff110 ~]# hdparm -d /dev/sda
/dev/sda:
...
[root@ff110 ~]# hdparm -d 1 /dev/sda

检测读取文件时,预先存入快取的扇区数
 

复制代码 代码示例:
[root@ff110 ~]# hdparm -a /dev/sda
/dev/sda:
readahead = 256 (on)

查询并设置硬盘多重扇区存取的扇区数,以增进硬盘的存取效率
 

复制代码 代码示例:
[root@ff110 ~]# hdparm -m /dev/sda
[root@ff110 ~]# hdparm -m 参数值为整数值如8 /dev/sda

将内顾虑缓冲的数据写入硬盘,并清除缓冲区的数据
 

复制代码 代码示例:
[root@ff110 ~]# hdparm -f /dev/sda