はじめに
top
コマンドは Linux における強力なシステム監視ツールで、実行中のプロセスとそのリソース使用率に関するリアルタイム情報を提供します。このチュートリアルでは、top
コマンドの理解、それとの対話、および top
コマンドのワークフローの自動化を通じて、Linux システムを効果的に監視および管理する方法を案内します。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
top
コマンドは Linux における強力なシステム監視ツールで、実行中のプロセスとそのリソース使用率に関するリアルタイム情報を提供します。このチュートリアルでは、top
コマンドの理解、それとの対話、および top
コマンドのワークフローの自動化を通じて、Linux システムを効果的に監視および管理する方法を案内します。
top
コマンドは Linux における強力なシステム監視ユーティリティで、システム上で実行中のプロセスに関するリアルタイム情報を提供します。これはシステム管理者や開発者がシステムのリソース使用率とパフォーマンスを理解するための重要なツールです。
top
コマンドは、CPU 使用率、メモリ使用率、またはその他の基準でソートされた実行中のプロセスのリストを表示します。各プロセスに関する詳細情報、プロセス ID (PID)、ユーザー、CPU およびメモリ使用率、その他の関連メトリクスを提供します。
top
コマンドの主な使用例の 1 つは、システム上でパフォーマンスの問題を引き起こしている可能性のあるリソース集中型のプロセスを特定することです。実行中のプロセスの CPU およびメモリ使用率を監視することで、最も多くのリソースを消費しているプロセスをすばやく特定し、そのパフォーマンスを最適化するための適切なアクションを取ったり、必要に応じてそれらを終了させたりすることができます。
以下は、Ubuntu 22.04 システムで top
コマンドを使用する方法の例です。
$ top
これにより、デフォルトの top
コマンド出力が表示され、以下の情報が含まれます。
1
を押してコアごとの CPU 使用率を表示したり、m
を押してメモリ使用率でソートしたり、p
を押してプロセス ID でソートしたりするなど、さまざまなキーを押すことで top
コマンドの出力をカスタマイズすることができます。
top
コマンドは、システム全体のパフォーマンスを理解し、潜在的なボトルネックやリソース集中型のプロセスを特定するための重要なツールです。top
コマンドを習得することで、Linux システムを効果的に監視および管理することができます。
top
コマンドは、出力と動作をカスタマイズするための幅広いオプションとショートカットを提供します。これらの対話方法を理解することで、システムのプロセスを効果的に監視および管理することができます。
top
コマンドが実行されているとき、以下のキーボードショートカットを使用して、プロセスリストを操作し、対話することができます。
↑
と ↓
: プロセスリスト内で選択を上下に移動します。k
: 選択されたプロセスを終了します。d
: 更新間隔を変更します。f
: プロセスリストに表示するフィールドをカスタマイズします。o
: 特定のフィールドでプロセスリストをソートします。1
: 個々の CPU 使用率の表示を切り替えます。m
: メモリ使用率でプロセスリストをソートします。p
: CPU 使用率でプロセスリストをソートします。q
: top
コマンドを終了します。f
キーを押して「フィールド (Fields)」メニューに入ることで、top
コマンドの出力をカスタマイズすることができます。これにより、プロセスリストに表示する列を選択することができます。以下のキーを使用してフィールドを操作および選択することができます。
Space
: フィールドの選択を切り替えます。a
: すべてのフィールドを選択します。d
: すべてのフィールドの選択を解除します。<
と >
: 選択されたフィールドを表示内で左右に移動します。Enter
: フィールドの選択を保存し、メインの top
表示に戻ります。top
コマンドでは、CPU 使用率、メモリ使用率、またはプロセス ID など、さまざまな基準でプロセスリストをソートすることができます。以下のキーを使用してプロセスリストをソートすることができます。
o
: 「ソートフィールド (Sort field)」メニューを開きます。↑
と ↓
: 利用可能なソートフィールドを移動します。Space
: ソート順(昇順または降順)を切り替えます。Enter
: 選択されたソートフィールドを適用し、メインの top
表示に戻ります。これらの top
コマンドとの対話方法を習得することで、Ubuntu 22.04 システム上のシステムのプロセスを効率的に監視および管理することができます。
top
コマンドはシステムプロセスを監視するための強力な対話型インターフェイスを提供しますが、その使用を自動化したりスクリプト化したい場合もあります。これは、レポートの生成、アラートのトリガー、または top
コマンドをより大規模なシステム管理ワークフローに統合する場合に特に有用です。
top
コマンドを自動化する 1 つの方法は、その出力をキャプチャしてファイルに保存するか、さらなる処理のために他のコマンドに渡すことです。Ubuntu 22.04 システムでは、以下のコマンドを使用してこれを行うことができます。
top -b -n 1 > top_output.txt
-b
オプションは top
に「バッチ」モードで実行するよう指示します。これは、対話的に実行するのではなく、プロセス情報を出力してから終了することを意味します。-n 1
オプションは top
に 1 回だけ実行するよう指示し、現在のシステム状態のスナップショットをキャプチャします。
その後、保存された top_output.txt
ファイルをさらなる分析や他のツールやスクリプトとの統合に使用することができます。
自動化をさらに進めるために、top
コマンドを活用してより複雑なタスクを実行するシェルスクリプトを作成することができます。たとえば、以下のようなスクリプトを書くことができます。
top
コマンドの出力をファイルにキャプチャします。以下は、このワークフローを示すサンプルスクリプトです。
#!/bin/bash
## Capture top command output
top -b -n 1 > top_output.txt
## Parse the output to identify top CPU-consuming processes
top_cpu_processes=$(cat top_output.txt | awk 'NR>7{print $1, $9}' | sort -nr | head -n 5)
## Check if any process is consuming more than 20% CPU
if echo "$top_cpu_processes" | awk '{if ($2 > 20) print $1}'; then
echo "Alert: High CPU usage detected. Top CPU-consuming processes:"
echo "$top_cpu_processes"
## Add your alert/notification logic here
fi
top
コマンドのワークフローを自動化することで、Ubuntu 22.04 システム上の特定のニーズに合わせた、より堅牢で積極的なシステム監視および管理ソリューションを作成することができます。
top
コマンドは、システム管理者や開発者が Linux システムのリソース使用率とパフォーマンスを理解するための重要なツールです。top
コマンドを習得することで、リソース集中型のプロセスを特定し、システムパフォーマンスを最適化し、監視ワークフローを自動化してシステム管理タスクを合理化することができます。このチュートリアルでは、top
コマンドの基本機能の理解からその使用の自動化まで、包括的な概要を提供し、あなたが Linux システムのパフォーマンスを効果的に監視および最適化するための知識を備えることができるようにしました。