ウェブサイト検索

4つのCLIベースのLinuxパフォーマンス監視ツール:top、htop、ps、vmstat


4つのCLIベースのLinuxパフォーマンス監視ツール:top、htop、ps、vmstat

このページで

  1. ここで私たちは何をしますか?
  2. なぜCLI方式なのですか?

    1. 1. トップ
    2. 2. Htop
    3. 4. ps
    4. 4. Vmstat
  3. 結論

Linuxは非常に安定したオペレーティングシステムで、強力なセキュリティ機能を備えています。いくつかの場面で、システムのパフォーマンスを観察する必要があるかもしれません。これは、技術的な不具合のためか、定期的な健康診断の一環として行われます。パフォーマンス測定は、システムの状態を迅速に把握する手助けとなります。たとえば、パフォーマンスログは、実行中のプロセス、使用中のメモリ量、CPUの使用状況などを教えてくれます。この情報は、効果的なリソース計画やシステム問題のデバッグに関連する意思決定にも役立ちます。ほとんどのLinuxディストリビューションは、このタスクを達成するためのコマンドラインツールとグラフィカルツールを提供しています。これらの一部はOSにプリインストールされており、一部はインストールが必要です。これらのツールは、リアルタイム監視ツールまたはログベースのツールとして分類されます。

リアルタイム監視ツールは、その名の通り、システムの現在の状態に関する情報を提供します。結果は継続的に更新されます。

ログベースのツールは、パフォーマンス結果をファイルに保存し、後で処理、分析、または他のアプリケーションと連携して作業するために取り出すことができます。

ここで何をしますか?

このガイドでは、システムパフォーマンスを監視するための一般的に使用されるコマンドラインベースのツールをいくつか紹介します。このガイドではUbuntu 20.04 OSを使用していますが、これから説明するツールはほとんどのLinuxベースのディストリビューションで利用可能です。

なぜCLI方式なのですか?

一つの明らかな疑問は、なぜ私たちがコマンドラインベースのツールにもっと関心を持っているのかということです。最初の理由は、グラフィカル環境で作業することが常にできるとは限らないからです。例えば、作業しているシステムがリモートのプロダクションサーバーであり、グラフィカルインターフェースを持っていない場合です。もし一瞬でもローカルシステムを持っている場合でも、その上にグラフィカルインターフェースをインストールする権限がないかもしれません。もう一つの理由は、コマンドラインインターフェースを使用することでマルチタスクの機会が得られることです。Tmuxは、同時に複数のシステムを監視することができるそういったアプリケーションの一つです。

1. トップ

このコマンドはリアルタイムのシステムステータスの概要を表示します。出力は、さまざまな目的に使用されているシステムメモリ(RAM)の量、使用されているCPUのパーセンテージ、スワップメモリ、および他の情報を表示します。topコマンドをオプションなしで単純に実行することで、メモリおよびCPU使用に関するプロセス統計も表示されます。

‘top’を実行中に‘f’を入力することで表示する列を選択することもできます。新しい画面では、‘スペースバー’または‘d’を押すことで、任意の列を選択または選択解除し、‘esc’を押して戻ります。以下の画像では、いくつかの列を削除し、新しい列(GID)を追加しています。

2. Htop

Htopコマンドは、データをより情報豊かでインタラクティブな方法で表示します。プロセス名はより説明的で、マウス統合は‘top’コマンドにはない追加の機能です。ターミナルの出力に表示されるさまざまな列をマウスで選択することができます。もう一つの利点は、出力を簡単に把握し分析できるようにカラ―コーディングを提供することです。‘Htop’は、次のコマンドを使用してUbuntu 20.04にインストールできます:

sudo apt install htop

さまざまな設定を調整するために、Htopはファンクションキーを使用します。たとえば、F3はコンソールに表示されている出力を検索するために使用できます。特定のユーザーが所有するプロセスのリストを表示するには、次のコマンドを使用します:

htop -u User_Name

ルートユーザーの場合、コマンドは次のようになります:

htop -u root

htop -C

4. ps

‘ps’コマンドの実装は、異なるUnixシステム間で著しく異なります。たとえば、あるシステムでは1つのフラグ(オプション)を使用し、別のシステムでは別のものを使用することがありますが、出力は両方のケースで同じである可能性があります。‘ps’コマンドの場合、出力は静的であり、リアルタイムの更新がある‘top’や‘htop’とは異なります。オプションが渡されない場合、‘ps’コマンドはアクティブなシェルの名前と最終的なプロセスを返します。

他のユーザーが所有するプロセスを含むすべての実行中のプロセスを表示するには、次のコマンドを使用します:

ps aux

「u」オプションを使用したので、ユーザーの名前も表示されます。システムで実行中のプロセスのリストを表示する別の方法は、次のコマンドを使用することです:

ps -A

おそらく、「ps」コマンドの出力が一般的に大きいことに気付いたでしょう。分析やフィルタリング作業を簡素化するために、「grep」コマンドを使用できます。例えば、「/usr/lib/firefox/firefox」プロセスをフィルタリングするには、次のようにします:

ps aux | grep ‘/usr/lib/firefox/firefox/

ps -aux > output.txt

上記のコマンドは出力をファイル「output.txt」に送ります。

4. Vmstat

仮想メモリレポーターまたはvmstatは、CPU、仮想メモリ(スワップ)、ブロックI/O、ディスクなどのデータを収集します。オプションが使用されていない場合、これらのパラメータに関する平均情報が表示されます。この平均は、システムが最後に再起動された時点からのものです。データが端末に表示されるサンプリングレートを指定することができます:

vmstat  2

‘-a’オプションを使用すると、アクティブと非アクティブのシステムメモリが表示されます。‘ps’コマンドと同様に、‘vmstat’の出力はプラットフォームによって異なります。また、測定のカウント数を指定することもできます。

vmstat 1 4

結論

これは、通常使用され、ほとんどのLinuxベースのディストリビューションで利用可能な4つのコマンドラインベースのツールについての簡単な議論です。頼りにできるツールはまだ多く存在します。各ツールには独自の利点と制限があり、特定のツールを選択するかどうかは適用のポイントによります。これらのツールの概要を示すために表面に触れたに過ぎません。詳細情報や利用可能なオプションについては、manページを参照してください。

関連記事: