GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでハードディスクのデータ転送速度を見つける方法

このガイドでは、Linuxでハードディスクのデータ転送速度を確認する方法について説明します。つまり、ハードドライブがLinuxおよびUnixライクなオペレーティングシステムでデータを配信する速度を特定します。

また、HDDが一度に読み取ることができるセクターの数、先読み機能、音響モード、ライトバックキャッシング、hddのベンチマークなどの他の便利なことについても説明します。

このガイドでは、 hdparmを使用します ハードドライブの読み取り、書き込み速度をチェックし、ハードディスクのパフォーマンスをテストするためのコマンドラインユーティリティ。

見逃してしまった場合に備えて、すでにhdparmを使用しています。 ハードディスクドライブの詳細を検索するユーティリティ Linuxでは。ここで、同じhdparmを使用します ハードディスクの伝送速度を測定するユーティリティ。

注意事項

hdparm ディスクのパフォーマンスを向上させるための重要な利点を提供します。また、非常に危険です 。一部のパラメータが誤用されると、大量のデータが失われる可能性が非常に高くなります。 hdparmのドキュメントは、いかなる状況でも一部のコマンドを使用してはならないことを示唆しています。 。そのため、このガイドではそのような危険なコマンドを除外しました。さらに重要なことに、hdparmでhddをテストする前に、ハードドライブをバックアップすることを常にお勧めします。 Linuxシステムで。

Linuxでのハードディスクデータ転送速度の検索

LinuxでHDDデータ転送速度を確認するには、"hdparm"を実行します。 -tを使用したコマンド 以下のようなフラグ:

$ sudo hdparm -t /dev/sda

出力例:

/dev/sda:
 Timing buffered disk reads: 246 MB in  3.00 seconds =  81.97 MB/sec

ご覧のとおり、データ転送速度は 81.97 MBです。 毎秒。他のプログラムがバックグラウンドで実行されていないことを確認してください。

hdparmを実行します 少なくとも2〜3回コマンドを実行し、結果からドライブの平均データ転送速度を計算します。

上記の出力からわかるように、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 プログラムはバッファを使用せず、hddから直接データを読み取ります。上記の出力でお気づきのように、転送速度はバッファなしで減少しました。

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

オフセット値がある場合とない場合のhdd転送速度を比較します。 "offset"を使用した場合 2番目のコマンドのパラメータで、転送速度が低下しました。したがって、ハードディスクはディスクの外側の領域からデータを少し遅く配信しているようです。

ハードディスクが読み取るセクター数を確認する

通常、ハードディスクはデータ送信を高速化するために同時に複数のセクターを読み取ります。この値は、次のコマンドを実行して見つけることができます:

$ 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 
[...]

上記の出力のように、私のhddは16 sectorsを読み取ります 一度に。

最近のHDDの中には、セクターを事前に取得できるものがあります。この機能は"read ahead"と呼ばれます 。この値は、"-a"を使用して見つけることができます 以下のようなフラグ:

$ sudo hdparm -a /dev/sda

出力例:

/dev/sda:
readahead     = 256 (on)

上記の出力でわかるように、hddは256を読み取ることができます 事前にセクター。

HDDをクワイエットモードにしてアクセス時間を増やします

最近のハードディスクでは、頭の動きを遅くすることができます。頭の動きを遅くすると、騒音レベルが下がり、アクセス時間が長くなります。

HDDがこの"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

ライトバックキャッシュ

ライトバックキャッシュモードが有効になっている場合、hddは書き込まれるデータをバッファに入れます。このようにして、hddはより高速に書き込むことができます。

ライトバックキャッシュモードが有効になっているかどうかを確認するには、「-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

GNOMEDisksグラフィカルユーティリティを使用したハードディスクのベンチマーク

コマンドラインの方法が気に入らない場合は、GNOMEディスク GUIプログラムを使用すると、ハードディスクのベンチマークを行うこともできます。

メニューまたはダッシュからディスクを開きます。ベンチマークするディスクを選択し、3つのドットをクリックして、[ベンチマークディスク]を選択します。 オプション。

[ベンチマークの開始]をクリックします ベンチマークを開始するオプション:

結論

このガイドでは、Linuxでのハードディスクデータ転送速度(つまり、ハードドライブがデータを配信する速度)を見つける方法について説明しました。また、GnomeDisksGUIユーティリティを使用してコマンドラインモードとグラフィカルモードからハードドライブのベンチマークを行う方法についても説明しました。

Pixabayの注目の画像。


Linux
  1. Linuxでファイルを見つける方法

  2. LinuxでSSDまたはHDDのディスクを見つける方法は?

  3. Linux で rsync 転送速度を制限/調整する方法

  1. Linuxでディスクをパーティション分割する方法

  2. LinuxでFINDを使用する方法

  3. Linux ディスク ドライブのモデル番号を調べるには?

  1. Linuxでファイルを見つける方法

  2. LinuxでディスクがSSDかHDDかを確認する方法

  3. Linux で (バックアップ) ハードディスクを使用しないときはシャットダウンする