世界

これらの 5 つの Linux コマンドを使用してハードドライブのボトルネックを特定する

11月 26, 2024 / nipponese

1732640145
2024-11-26 16:30:00

Linux コンピューターがハード ドライブと RAM の間でデータを移動できる速度は、パフォーマンスに直接影響します。これら 5 つのコマンドは、パフォーマンスの低下や途切れのトラブルシューティングに役立ちます。


一生懸命働いていますか、それともほとんど働いていませんか?それを知るための 5 つの方法

コンピュータは起動した瞬間から、稼働中はハード ドライブへの読み取りと書き込みを行う必要があります。

ドライブには最大のデータ スループットがあります。データの読み取りおよび書き込みができる速度には制限があります。つまり、起動、プログラムやユーティリティのロード、ドキュメント、設定、ダウンロードなどのデータの保存はすべて、ハード ドライブに組み込まれた制限によってレート制限されます。


最新のドライブ、特にソリッド ステート ドライブは高速になるように構築されていますが、最も高速なドライブでも、一度にアクセスしようとするプロセスが多すぎると、データ要求のバックログが発生する可能性があります。

PC の動作が遅く、断続的に速度が低下する場合、または不安定で動作が不安定になる場合は、次の 5 つのコマンドを使用して、ハード ドライブのボトルネックに遭遇していないかどうかを確認してください。


iostat を使用した I/O 統計の測定

iostat コマンドは sysstat パッケージの一部です。私たちがテストした Ubuntu 24.10、最新の Manjaro、および Fedora Linux 40 コンピューターには、iostat がすでにインストールされていました。インストールされていない場合は、ディストリビューションのリポジトリで sysstat パッケージを探してください。

最も単純な呼び出しは、オプションを何も指定しない iostat コマンドです。

iostat 

単一のドライブに興味がある場合は、-p (デバイスとパーティション) オプションを使用して、ハード ドライブのデバイス名を指定します。 -m (メガバイト) オプションを使用すると、統計をメガバイト/秒単位で取得することもできます。

iostat -m -p sda 
iostat コマンドを使用して単一ドライブを調べ、値がメガバイト単位で報告されます。


レポートには、ハードドライブとそのパーティションに関する統計が含まれています。単一のパーティションについてレポートするには、ハード ドライブ識別子にパーティション番号を追加します。

iostat -m -p sda2 
dstat からの出力は、長い待ち時間と大量のディスク書き込みを示しています。

レポートには、CPU に関する情報が 1 行含まれ、その後、選択したデバイスの詳細が含まれます。

この演習で注目する CPU 値は、%iowait と %idle の数値です。 %iowait の数値は、CPU が継続できるように、ハード ドライブの入出力要求が処理されるのを待機している (起動以来) 時間の割合を示します。

%idle 統計は、ブート以降、CPU がアイドル状態だった時間の割合です。 そして 未処理のディスク入出力要求はありませんでした。


理想的には、%iowait の数値はできるだけ低くする必要があります。このマシンは、ハードドライブのパフォーマンスと入出力リクエストの数により、非常に苦戦しています。デバイスとパーティションの情報を確認することで、より詳細な情報を得ることができます。このパーティションによって多くの書き込みリクエストが処理されていることがわかります。

リアルタイムビュー: dstat

オリジナルの dstat パッケージの開発は数年前に停滞しました。これは、Performance Co-Pilot パッケージのコンポーネントとして書き直され、更新されました。このパッケージをインストールする必要があります。

Ubuntu では、コマンドは次のとおりです。

sudo apt install pcp 
Ubuntu への Performance Co-Pilot パッケージのインストール。

1 つの Fedora、次のように入力します。

sudo dnf install pcp pcp-system-tools 

Manjaro では、次のコマンドを使用します。

sudo pacman -S pcp  

dstat を起動し、-D (ドライブ) オプションを使用して、最初のドライブ sda に注目します。

dstat -D sda 
待機時間と書き込み列が強調表示された dstat からの出力。


新しい情報行が 0.5 秒ごとにディスプレイに追加されます。以前と同様に、心配するほど長い待ち時間と、大量の読み取りおよび書き込みアクティビティがあることがわかります。

レポートは閲覧中に更新されるため、これがハード ドライブに対する短期、断続的、または持続的な需要であるかどうかを確認できます。 Ctrl+C を押してコマンドを停止します。

ioping を使用して I/O レイテンシーを検出する

以前にインストールしたことがない限り、おそらく ioping をインストールする必要があります。

Ubuntu では、次のコマンドを使用します。

sudo apt install ioping 
Ubuntu に ioping パッケージをインストールします。

Fedora では、コマンドは次のとおりです。

sudo dnf install ioping 

Manjaro では、次のように入力する必要があります。

sudo pacman -s ioping 

ping ネットワーク ツールと同様に、ioping はタイミング統計を返します。ハードドライブ要求を作成し、その要求が承認されるまでにかかった時間を報告します。ハードドライブが応答するまでの遅延が入出力レイテンシです。これをできるだけ低くしたいと考えます。


ioping はハードウェア デバイスに関連付けられたデバイス ファイルから直接読み取るため、sudo を使用する必要があります。これは、テスト コンピューターの最初のハード ドライブを示しています。必要に応じて、sda1 のようにパーティション番号を追加することで、特定のパーティションを指定できます。

sudo ioping /dev/sda 
ioping を使用してハードドライブの応答遅延を測定します。

ハードドライブに負荷をかけるプロセスを使用せずに同じコンピューター上で同じコマンドを実行すると、遅延は 7 ミリ秒未満であることが報告されました。ハードドライブに負荷をかけているプロセスにより、応答時間が最大 10 倍遅くなります。

コマンドを停止するには、Ctrl+C を押します。セッションの短い概要が表示されます。

Ctrl+C で ioping を停止すると、終了する前に概要が表示されます。


ハードドライブの場合はトップに似ています: iotop

繰り返しますが、iotop は、事前に手動でインストールしていない限り、コンピュータ上に存在する可能性は低いです。

Ubuntu に iotop をインストールするには、コマンドは次のとおりです。

sudo apt install iotop 
Ubuntuにiotopをインストールします。

Fedora では、コマンドは次のとおりです。

sudo dnf install iotop 

Manjaro ユーザーは次のように入力する必要があります。

sudo pacman -S iotop 

iotop コマンドは、root ユーザーに制限されているカーネル API から情報を直接読み取るため、コマンドを起動するには sudo を使用する必要があります。

iotop 
3 つの疑わしいプロセスが強調表示された iotop からの出力。

これには、通常のトップ コマンドのルック アンド フィールに似たものがあります。画面の上部には情報のダッシュボードがあり、その下にはディスク書き込み列ごとに並べ替えられたプロセスの動的な表示があります。左矢印キーと右矢印キーを使用すると、表示のソート基準となる列が変更されます。


ハード ドライブ アクティビティの大部分を生成している 3 つの cp コマンドがあることがすぐにわかります。便利なことに、書き込み負荷の高いプロセスを所有するユーザーの名前と、プロセスを起動するためにユーザーが発行したコマンドも表示されます。

Qを押すとアプリケーションが終了します。

上と同様 ハードウェアデバイスの場合: 上

atop コマンドも top に似たツールですが、ハードウェアに関するレポートに特化しています。

Ubuntu 上にインストールするには、コマンドは次のとおりです。

sudo apt install atop 
Ubuntu の上にインストールします。

Fedora では、コマンドは次のとおりです。

sudo dnf install atop 

Manjaro ユーザーは次のように入力する必要があります。

sudo pacman -S atop 

初めて頂上を見たときはショックを受けるかもしれません。注意を必要とする情報がたくさんあります。本当にトップヘビーなトップのように見えます。 sudo を使用してもしなくても上から開始できますが、sudo を使用すると、より豊富で正確な表示が得られます。


sudo atop 
SDA ドライブ ラインが強調表示された上部の表示。

ハード ドライブが 90% の時間使用されていることがわかります。これは重大な危険信号です。

素晴らしいマニュアルを読む

これらのコマンドはすべて、豊富な情報とオプションのセットを提供するため、非常に柔軟でトラブルシューティングに役立ちます。優れた機能を見逃さないように、使用するコマンドのマニュアル ページを読むことを強くお勧めします。

#これらの #つの #Linux #コマンドを使用してハードドライブのボトルネックを特定する