Linux hdparm 命令实用示例

LinuxBeginner
立即练习

介绍

在本实验中,你将学习如何使用 Linux 的 hdparm 命令与硬盘驱动器(HDD)和固态硬盘(SSD)进行交互,并配置它们的各种参数。实验内容涵盖了理解 hdparm 的用途和功能、测量磁盘性能以及使用这一强大工具优化磁盘性能。你将探索诸如磁盘性能测量、磁盘配置优化和磁盘信息检索等功能。实验提供了实际示例,帮助你在 Linux 环境中有效地使用 hdparm

Linux 命令速查表

理解 hdparm 的用途和功能

在这一步中,你将学习 Linux 中 hdparm 命令的用途和功能。hdparm 是一个强大的工具,允许你与硬盘驱动器(HDD)和固态硬盘(SSD)进行交互,并配置它们的各种参数。

hdparm 命令提供了以下关键功能:

  1. 磁盘性能测量:你可以使用 hdparm 来测量磁盘的性能,包括读写速度、缓存设置和其他参数。
  2. 磁盘配置优化hdparm 允许你调整各种磁盘参数以优化性能,例如启用高级电源管理功能、设置预读缓存大小等。
  3. 磁盘信息检索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 优化磁盘性能。

Linux 命令速查表