本指南介紹如何在 Linux 上檢查硬盤驅動器的數據傳輸率。也就是說,它決定了硬盤驅動器在 Linux 和類 Unix 操作系統上傳輸數據的速度。

它還描述了其他有用的功能,例如 HDD 一次可以讀取的扇區數、預讀功能、聲學模式、回寫式緩存、硬盤基準測試等。

為本指南的目的, hdparm 用於檢查硬盤讀寫速度和測試硬盤性能的命令行實用程序。

我們使用它以防您錯過它 hdparm 效用 查找硬盤詳細信息 在 Linux 上。現在我們使用相同的 hdparm 用於測量硬盤傳輸速度的實用程序。

小心的話

儘管如此 hdparm 它為提高磁盤性能提供了重要的好處。 非常危險..濫用某些參數會導致大量數據丟失。 根據 hdparm 文檔 在任何情況下都不要使用某些命令因此,本指南排除了這些危險的命令。更重要的是,始終建議在測試之前備份硬盤驅動器 hdparm 在 Linux 系統上。

內容

  1. 在 Linux 上查找硬盤驅動器上的數據傳輸速度
    1. 查找硬盤讀取的扇區數
    2. 將硬盤驅動器置於安靜模式以延長訪問時間
    3. 寫回緩存
    4. 來自命令行的硬盤基準測試
    5. 使用 GNOME Disks 圖形實用程序對您的硬盤進行基準測試
  2. 結論是

在 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
在 Linux 上使用 hdparm 命令檢查硬盤驅動器的速度

如您所見,數據傳輸速度為 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
在 Linux 上查找硬盤驅動器上的數據傳輸速度

比較有和沒有偏移值的硬盤傳輸率。使用時 "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
Linux 基準硬盤在 Linux 上使用 CLI 對硬盤驅動器進行基準測試

重複此命令至少 2-3 次以獲得有意義的結果。

查看手冊頁以獲取更多信息。

$ man hdparm

使用 GNOME Disks 圖形實用程序對您的硬盤進行基準測試

如果你不喜歡命令行方法, GNOME 光盤 GUI 程序還可以對硬盤進行基準測試。

從菜單或破折號打開光盤。選擇您要進行基準測試的磁盤,單擊三個點, “基礎磁盤” 選項。

使用 GNOME 光盤對硬盤驅動器進行基準測試使用 GNOME 光盤對硬盤驅動器進行基準測試

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

開始在 Linux 上使用 GNOME 磁盤進行基準測試開始在 Linux 上使用 GNOME 磁盤進行基準測試

結論是

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

圖片來自精選的 AIXabay。

CLI 命令行 GNOME 磁盤硬盤數據傳輸率 HdparmLinuxLinux 命令