本指南介紹如何在 Linux 上檢查硬盤驅動器的數據傳輸率。也就是說,它決定了硬盤驅動器在 Linux 和類 Unix 操作系統上傳輸數據的速度。
它還描述了其他有用的功能,例如 HDD 一次可以讀取的扇區數、預讀功能、聲學模式、回寫式緩存、硬盤基準測試等。
為本指南的目的, hdparm
用於檢查硬盤讀寫速度和測試硬盤性能的命令行實用程序。
我們使用它以防您錯過它 hdparm
效用 查找硬盤詳細信息 在 Linux 上。現在我們使用相同的 hdparm
用於測量硬盤傳輸速度的實用程序。
小心的話
儘管如此 hdparm
它為提高磁盤性能提供了重要的好處。 非常危險..濫用某些參數會導致大量數據丟失。 根據 hdparm 文檔 在任何情況下都不要使用某些命令因此,本指南排除了這些危險的命令。更重要的是,始終建議在測試之前備份硬盤驅動器 hdparm
在 Linux 系統上。
內容
在 Linux 上查找硬盤驅動器上的數據傳輸速度
要檢查 Linux 上硬盤的數據傳輸率,請運行以下命令: "hdparm"
命令與 -t
跡像是:
$ sudo hdparm -t /dev/sda
樣本輸出:
/dev/sda:
Timing buffered disk reads: 246 MB in 3.00 seconds = 81.97 MB/sec
如您所見,數據傳輸速度為 81.97MB 每一秒。確保沒有其他程序在後台運行。
跑 hdparm
至少運行該命令幾次,然後根據結果計算驅動器的平均數據傳輸率。
從上面的輸出可以看出,Linux 內核在傳輸數據時會緩衝從 HDD 檢索到的數據。如果您想更準確地測量數據傳輸率,請使用以下方法。
$ sudo hdparm -t --direct /dev/sda
樣本輸出:
/dev/sda:
Timing O_DIRECT disk reads: 242 MB in 3.02 seconds = 80.21 MB/sec
現在 hdparm
該程序不使用緩衝區,而是直接從硬盤讀取數據。正如您在上面的輸出中可能已經註意到的那樣,如果沒有緩衝區,傳輸速度會變慢。
Hdparm
數據總是從存儲設備的開頭讀取。如果你想 hdparm
要從存儲設備的其他區域讀取數據,您可以使用: "offset"
參數是:
$ sudo hdparm -t --direct --offset 10 /dev/sda
這裡, 10
表示要跳過的千兆字節數。按照上面的命令,第一個 10 GB
從磁盤讀取數據時跳過。和 20GB
對於磁盤,上述命令從磁盤中心傳輸數據。
樣本輸出:
dev/sda: Timing O_DIRECT disk reads (offset 10 GB): 244 MB in 3.01 seconds = 81.15 MB/sec
比較有和沒有偏移值的硬盤傳輸率。使用時 "offset"
第二個命令的參數減慢了傳輸速率。因此,硬盤似乎需要很長時間才能從磁盤外部區域傳輸數據。
查找硬盤讀取的扇區數
硬盤驅動器通常同時讀取多個扇區以加快數據傳輸速度。可以通過運行以下命令找到此值:
$ sudo hdparm -I /dev/sda
在下面 "Capabilities"
在該部分中,您將看到類似於以下內容的輸出:
[...]
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: 254
Recommended acoustic management value: 208, current value: 208
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
[...]
根據上面的輸出,我的硬盤是 16 sectors
一度。
一些現代 HDD 可以提前獲得該扇區。這個函數被稱為 "read ahead"
..這個值可以使用 "-a"
跡像是:
$ sudo hdparm -a /dev/sda
樣本輸出:
/dev/sda: readahead = 256 (on)
正如您在上面的輸出中看到的,硬盤驅動器可以讀取為: 256
上一個部門。
將硬盤驅動器置於安靜模式以延長訪問時間
一些現代硬盤驅動器可能會減慢您的速度。放慢您的頭會降低噪音水平並增加您的訪問時間。
檢查您的硬盤是否支持此功能 "acoustic mode"
功能、執行:
$ sudo hdparm -M /dev/sda
如果您的驅動程序支持聲學模式,您應該得到以下輸出:
/dev/sda: acoustic = 208 (128=quiet ... 254=fast)

當前的聲學模式值為 208
在我的系統上。聲學模式值可以設置為 128
到達 254
..
要將 HDD 置於安靜模式,請運行以下命令:
$ sudo hdparm -M 128 /dev/sda
要使您的頭部移動得更快,請運行以下命令:
$ sudo hdparm -M 254 /dev/sda
請注意,您的操作系統必須支持此功能。
如果不支持此功能,您將看到如下內容:
dev/sda: acoustic = not supported
寫回緩存
當啟用回寫緩存模式時,硬盤會緩衝要寫入的數據。這樣,您可以加快寫入硬盤的速度。
使用“-W”標誌來驗證是否啟用了回寫緩存模式。
$ sudo hdparm -W /dev/sda
樣本輸出:
/dev/sda: write-caching = 1 (on)
如果輸出值為 1,則啟用回寫緩存功能。 如果為 0,則禁用寫回緩存。您可以通過以下方式啟用它:
$ sudo hdparm -W1 /dev/sda
如果 hdparm 無法啟用此功能,請確保在 BIOS 中啟用了回寫緩存功能。
要禁用它,請使用:
$ sudo hdparm -W0 /dev/sda
寫入緩存可提高寫入速度,但在某些情況下不建議使用。
例如,在突然斷電的情況下,緩衝區中的數據將完全丟失。因此,在運行 PostgreSQL 等數據庫程序時,不要啟用回寫式緩存。
來自命令行的硬盤基準測試
使用大寫字母對 HDD 進行基準測試並測試驅動器的讀取速度 "T"
和小寫 "t"
將它們標記在一起,如下所示。
$ sudo hdparm -Tt /dev/sda
樣本輸出:
/dev/sda: Timing cached reads: 7232 MB in 1.99 seconds = 3629.42 MB/sec Timing buffered disk reads: 250 MB in 3.01 seconds = 82.99 MB/sec

重複此命令至少 2-3 次以獲得有意義的結果。
查看手冊頁以獲取更多信息。
$ man hdparm
使用 GNOME Disks 圖形實用程序對您的硬盤進行基準測試
如果你不喜歡命令行方法, GNOME 光盤 GUI 程序還可以對硬盤進行基準測試。
從菜單或破折號打開光盤。選擇您要進行基準測試的磁盤,單擊三個點, “基礎磁盤” 選項。

點擊 “開始基準測試” 啟動基準測試的選項:

結論是
本指南向您展示瞭如何在 Linux 中找到硬盤的數據傳輸速率(即硬盤傳輸數據的速度)。我們還向您展示瞭如何使用 Gnome Disks GUI 實用程序從命令行和圖形模式對硬盤驅動器進行基準測試。
圖片來自精選的 AIXabay。
CLI 命令行 GNOME 磁盤硬盤數據傳輸率 HdparmLinuxLinux 命令