欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

详解Linux系统中hdparm硬盘检测工具的使用

程序员文章站 2022-06-16 14:26:59
这篇文章主要介绍了详解Linux系统中hdparm硬盘检测工具的使用,包括其中各种常用的参数说明,需要的朋友可以参考下... 15-07-06...

在linux下可以使用hdparm工具查看硬盘的相关信息或对硬盘进行测速、优化、修改硬盘相关参数设定。我主要常用这个工具来测试硬盘速度。

hdparm(hard disk parameters)
功能说明:显示与设定硬盘的参数。

语法:

复制代码
代码如下:
hdparm [-cfghiiqttvyyz][-a <快取分区>][-a <0或1>][-c ][-d <0或1>][-k <0或1>][-k <0或1>][-m <分区数>][-n <0或</p> <p>1>][-p ][-p <分区数>][-r <0或1>][-s <时间>][-u <0或1>][-w <0或1>][-x <传输模式>][设备]


参数说明:

-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常用参数使用举例:

1、显示硬盘的相关设置:

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

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

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

3、测试硬盘的读取速度:


复制代码
代码如下:
[root@oracle ~]# hdparm -t /dev/xvda</p> <p>
/dev/xvda:</p> <p>timing buffered disk reads: 422 mb in 3.01 seconds = 140.20 mb/sec</p> <p>[root@oracle ~]# hdparm -t /dev/xvda</p> <p>/dev/xvda:</p> <p>timing buffered disk reads: 408 mb in 3.01 seconds = 135.59 mb/sec</p> <p>[root@oracle ~]# hdparm -t /dev/xvda</p> <p>/dev/xvda:</p> <p>timing buffered disk reads: 416 mb in 3.01 seconds = 138.24 mb/sec


4、测试硬盘缓存的读取速度:


复制代码
代码如下:
[root@oracle ~]# hdparm -t /dev/xvda</p> <p>
/dev/xvda:</p> <p>timing cached reads: 11154 mb in 1.98 seconds = 5633.44 mb/sec</p> <p>[root@oracle ~]# hdparm -t /dev/xvda</p> <p>/dev/xvda:</p> <p>timing cached reads: 10064 mb in 1.98 seconds = 5077.92 mb/sec</p> <p>[root@oracle ~]# hdparm -t /dev/xvda</p> <p>/dev/xvda:</p> <p>timing cached reads: 10600 mb in 1.98 seconds = 5351.73 mb/sec
 

5、检测硬盘的电源管理模式:

复制代码
代码如下:
[root@oracle ~]# hdparm -c /dev/sda</p> <p>
/dev/sda:</p> <p>
drive state is: standby [省电模式]


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

复制代码
代码如下:
[root@oracle ~]# hdparm -m /dev/sda</p> <p>
[root@oracle ~]# hdparm -m 参数值为整数值如8 /dev/sda

附:硬盘坏道修复方法

检查:

复制代码
代码如下:
smartctl -l selftest /dev/sda

卸载:

复制代码
代码如下:
umount /dev/sda*

修复:

复制代码
代码如下:
badblocks /dev/sda