介绍
在本实验中,你将学习如何使用 Linux 的 hdparm 命令与硬盘驱动器(HDD)和固态硬盘(SSD)进行交互,并配置它们的各种参数。实验内容涵盖了理解 hdparm 的用途和功能、测量磁盘性能以及使用这一强大工具优化磁盘性能。你将探索诸如磁盘性能测量、磁盘配置优化和磁盘信息检索等功能。实验提供了实际示例,帮助你在 Linux 环境中有效地使用 hdparm。
理解 hdparm 的用途和功能
在这一步中,你将学习 Linux 中 hdparm 命令的用途和功能。hdparm 是一个强大的工具,允许你与硬盘驱动器(HDD)和固态硬盘(SSD)进行交互,并配置它们的各种参数。
hdparm 命令提供了以下关键功能:
- 磁盘性能测量:你可以使用
hdparm来测量磁盘的性能,包括读写速度、缓存设置和其他参数。 - 磁盘配置优化:
hdparm允许你调整各种磁盘参数以优化性能,例如启用高级电源管理功能、设置预读缓存大小等。 - 磁盘信息检索:
hdparm命令可以提供有关磁盘的详细信息,包括型号、固件版本和其他技术规格。
让我们从使用 hdparm 检索磁盘信息开始。
sudo hdparm -i /dev/sda
示例输出:
/dev/sda:
Model=VBOX HARDDISK, FwRev=1.0, SerialNo=
Config={ HardSect NotMFM Motor(_) Removeable DTR(500Mbs) SpinUp(0.600s) }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
BuffType=unknown, BuffSize=0kB, MaxMultSect=0
(maybe): CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=33554432
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=no WriteCache=enabled
Drive conforms to: unknown: ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7
该命令检索了 /dev/sda 磁盘的详细信息,包括型号、固件版本、序列号和支持的磁盘模式。
使用 hdparm 测量磁盘性能
在这一步中,你将学习如何使用 hdparm 命令测量磁盘的性能。这些信息可以帮助你识别性能瓶颈并优化系统的磁盘配置。
让我们从使用 -t 选项测量磁盘的读取性能开始:
sudo hdparm -t /dev/sda
示例输出:
/dev/sda:
Timing buffered disk reads: 236 MB in 3.01 seconds = 78.41 MB/sec
该命令测量磁盘的缓冲读取性能,提供了磁盘最大持续读取速度的估计值。
接下来,使用 -T 选项测量磁盘的缓存读取性能:
sudo hdparm -T /dev/sda
示例输出:
/dev/sda:
Timing cached reads: 13624 MB in 2.00 seconds = 6812.00 MB/sec
缓存读取性能测量的是从磁盘缓存中读取数据的速度,通常比直接从磁盘读取要快得多。
最后,使用 -t 和 -T 选项一起测量磁盘的顺序读取和写入性能:
sudo hdparm -tT /dev/sda
示例输出:
/dev/sda:
Timing buffered disk reads: 236 MB in 3.01 seconds = 78.41 MB/sec
Timing cached reads: 13624 MB in 2.00 seconds = 6812.00 MB/sec
该命令提供了缓冲磁盘读取和缓存读取性能指标,让你更全面地了解磁盘的性能。
使用 hdparm 优化磁盘性能
在这最后一步中,你将学习如何使用 hdparm 命令优化磁盘的性能。
首先,启用预读缓存(read-ahead cache),这可以显著提高读取性能:
sudo hdparm -r1 /dev/sda
示例输出:
/dev/sda:
setting readonly to 1 (on)
该命令将预读缓存大小设置为 1,这是最大值。你可以尝试不同的值,以找到适合系统的最佳设置。
接下来,启用高级电源管理(APM)功能,这有助于降低功耗并可能提高性能:
sudo hdparm -B 254 /dev/sda
示例输出:
/dev/sda:
setting Advanced Power Management level to 0xfe (254) (maximum performance)
该命令将 APM 级别设置为 254,这是最大性能设置。你可以尝试较低的值,以在性能和节能之间找到合适的平衡。
最后,启用写缓存功能,这可以提高写入性能:
sudo hdparm -W1 /dev/sda
示例输出:
/dev/sda:
setting drive write-caching to 1 (on)
该命令启用了写缓存功能,可以显著提升写入性能。
完成这些更改后,使用上一节的步骤再次验证磁盘性能。
总结
在本实验中,你首先学习了 Linux 中 hdparm 命令的用途和功能。hdparm 是一个强大的工具,允许你与硬盘驱动器(HDD)和固态硬盘(SSD)进行交互,并配置它们的各种参数。它提供了关键功能,如磁盘性能测量、磁盘配置优化和磁盘信息检索。接着,你探索了如何使用 hdparm 测量磁盘的性能,包括读写速度、缓存设置和其他参数。最后,你学习了如何通过调整各种磁盘参数(例如启用高级电源管理功能和设置预读缓存大小)来使用 hdparm 优化磁盘性能。



