(最終更新月:2023年5月)
✔このような方へ向けて書かれた記事となります
「topコマンドとは?」
「topコマンドの基本を教えて欲しい」
「topコマンドの実例を見てみたい」
✔当記事を通じてお伝えすること
- topコマンドとは?
- topコマンドの基本・書き方
- topコマンドのオプション・実例について
当記事では、topコマンドの基本だけでなく、オプションについてや応用した使い方まで、実例つきで丁寧に解説していきます。
ぜひ最後までご覧ください。
topコマンドに必要な基礎知識
topコマンドに必要な基本的な知識を確認していきましょう。
さまざまな使い方を理解するための前提知識といえます。
- topコマンドとは
- topコマンドの実行方法
- 出力結果の読み方
- よく使うオプションの紹介
topコマンドとは
topコマンドは、プロセスのリアルタイム情報を表示するコマンドです。
CPU使用率やメモリ使用量など、システムのリソース状況を一目で把握できるため、パフォーマンスの監視やトラブルシューティングに役立ちます。
topコマンドの実行方法
topコマンドを実行するには、ターミナルで「top」と入力し、エンターキーを押します。
実行すると、リアルタイムでシステムのリソース使用状況が表示されるでしょう。
表示される情報は、デフォルトで自動的に更新されますが、表示速度を変更したい場合は、実行中に「s」キーを押して、更新間隔(秒)の指定も可能です。
出力結果の読み方
topコマンドの結果には、以下のような情報が表示されます。
- プロセスID(PID): プロセスを一意に識別する番号
- ユーザー(USER): プロセスを実行しているユーザー名
- CPU使用率(%CPU): プロセスのCPU使用率
- メモリ使用率(%MEM): プロセスのメモリ使用率
- 実行時間(TIME+): プロセスが起動してからの経過時間
これらの情報を参考に、システムのリソース使用状況や、問題が発生しているプロセスを特定することができます。
よく使うオプションの紹介
topコマンドには、さまざまなオプションがあります。以下は、よく使われるオプションの例です。
- -u [ユーザー名]: 指定したユーザーが実行しているプロセスのみを表示
- -p [プロセスID]: 指定したプロセスIDのプロセスのみを表示
- -d [秒数]: 表示を更新する間隔を指定
これらのオプションを組み合わせることで、表示内容をカスタマイズして、必要な情報に絞り込めます。
Linuxとは
Linuxは、オープンソースで開発されているUnix系オペレーティングシステム(OS)の一種。
サーバー、スマートフォン、組み込みシステムなど幅広い分野で使用されており、その堅牢性や柔軟性から非常に人気があります。
例えば、Linuxはウェブサーバーやデータベースサーバーとして利用されることが多く、インターネットのインフラを支えています。
コマンドとは
コマンドとは、コンピュータに対して操作や処理を指示するための文字列です。
Linuxでは、コマンドラインインターフェース(CLI)を通じてコマンドを入力し、システムの操作や管理をおこないます。
GUI(Graphical User Interface)と比較して、CLIは軽量で高速に操作ができるため、サーバー管理などの分野で好まれています。
topコマンドのオプション一覧
topコマンドのオプション一覧をご覧ください。
オプションは上記以外にも存在します。
オプション名 | 説明 | 実例 |
---|---|---|
-b | バッチモードで実行する | top -b |
-c | コマンドライン表示を切り替える | top -c |
-d [秒数] | 表示を更新する間隔を指定 | top -d 5 |
-H | スレッドごとの表示に切り替える | top -H |
-n [回数] | 指定した回数だけ表示を更新して終了する | top -n 10 |
-p [PID] | 指定したプロセスIDのプロセスのみを表示 | top -p 12345 |
-u [ユーザー] | 指定したユーザーが実行しているプロセスを表示 | top -u exampleuser |
-i | アイドル状態のプロセスを表示しない | top -i |
-o [項目名] | 指定した項目でソートして表示 | top -o %CPU |
-a | アイドル状態のプロセスを表示する | top -a |
topコマンドのインストール方法
topコマンドのインストール方法をご紹介します。
もしインストールが済んでいなければ、セットアップが必要です。
- 既にインストールされている場合
- インストールが必要な場合
既にインストールされている場合
多くのLinuxディストリビューションでは、topコマンドがデフォルトでインストールされています。
インストール済みかどうか確認するには、ターミナルで「top」と入力してみてください。
もしコマンドが実行されれば、既にインストールされていることがわかります。
インストールが必要な場合
もしtopコマンドがインストールされていない場合は、パッケージ管理システムを利用してインストールできます。
例えば、Debian系のLinuxディストリビューションでは以下のとおり。
sudo apt-get install procps
ほかのディストリビューションでは、それぞれのパッケージ管理システムに従ってインストールしてください。
topコマンドを使ったリソースの監視
topコマンドを使ったリソースの監視方法をご紹介します。
topコマンドを活用する例として、実践してみてください。
- CPU使用率の監視
- メモリ使用率の監視
- スワップ使用率の監視
- プロセスの監視
CPU使用率の監視
topコマンドを使って、システム全体のCPU使用率や個々のプロセスのCPU使用率を監視できます。
CPU使用率が高いプロセスを特定し、その原因を調査することで、パフォーマンス問題の解決に繋がります。
メモリ使用率の監視
メモリ使用率もtopコマンドで監視できます。
メモリ使用率が高いプロセスを特定し、不要なプロセスを終了させたり、メモリリークを発見することで、システムの安定性を向上させられる方法です。
メモリリークとは、特定のプログラムが確保したメモリが、プロセスの終了後も確保し続けられていることが原因で起きます。
結果として、メモリの使用可能部分が減少していくのです。
メモリ使用率が高いプロセスの特定
topコマンドを実行し、メモリ使用率でソートして表示します。
top -o %MEM
表示された結果から、メモリ使用率が高いプロセスを特定できます。
不要なプロセスの終了
もし、特定したプロセスが不要であることがわかった場合、プロセスを終了させます。
topコマンド画面で、k キーを押し、終了させたいプロセスIDを入力し、Enterキーを押すことで、プロセスを終了させることができます。
メモリリークの発見
メモリリークが疑われる場合は、プロセスがどのような動作をしているのか、ソースコードを確認することが望ましいです。
プロファイリングツールやデバッガを使用して、プロセスの動作を詳細に解析し、メモリリークを発見しましょう。
メモリリークの修正
メモリリークを発見した場合は、その原因を特定し、コードを修正します。
修正後、再度プロファイリングやデバッグを行い、メモリリークが解消されたことを確認します。
スワップ使用率の監視
topコマンドは、スワップ使用率も表示します。
スワップは、物理メモリが不足した際にディスク上の一部を仮想メモリとして利用する機能です。
スワップ使用率が高い場合は、物理メモリが不足している可能性があります。
その原因を特定し、対処することで、パフォーマンスの改善が期待できるのです。
プロセスの監視
topコマンドでは、システム上で実行中のすべてのプロセスを監視できます。
topコマンドを使えば、不要なプロセスが実行されていないか、または予期しないプロセスが実行されていないか確認できるからです。
システムの安全性を維持することができます。
topコマンドを使ったプロセス管理
topコマンドを使ってプロセス管理をしていきましょう。
具体的には以下の方法をお伝えします。
- プロセスの優先度の変更
- プロセスの停止・再開
- プロセスの終了
プロセスの優先度の変更
topコマンドを使って、プロセスの優先度を変更できます。
実行中のtopコマンドで「r」キーを押し、変更したいプロセスIDと新しい優先度を入力することで、優先度を変更できます。
プロセスの停止・再開
topコマンドでは、プロセスを一時停止させたり、再開させたりできます。
実行中のtopコマンドで「k」キーを押し、停止させたいプロセスIDを入力し、シグナルを送信することで、プロセスの停止・再開が可能です。
プロセスの終了
topコマンドを使って、プロセスを終了させられます。
実行中のtopコマンドで「k」キーを押し、終了させたいプロセスIDを入力し、シグナルを送信することで、プロセスの終了が可能です。
topコマンドのトラブルシューティング
topコマンドのトラブルシューティングについて解説していきます。
事前に知っておけば、トラブルを回避できる可能性が高まるでしょう。
- topコマンドで解決できる一般的な問題
- リソース不足の対処方法
topコマンドで解決できる一般的な問題
topコマンドを用いて解決できる一般的な問題には、以下のようなものがあります。
- CPU使用率が異常に高いプロセスの特定
- メモリ使用率が異常に高いプロセスの特定
- スワップ使用率が高い原因の特定
- 不要なプロセスの終了
リソース不足の対処方法
topコマンドでリソース不足を発見した場合、以下の対処方法があります。
- 不要なプロセスを終了する
- プロセスの優先度を調整して、重要なプロセスにリソースを割り当てる
- 物理メモリを追加する
- システムの設定を見直す
topコマンドよりも詳細な情報を見る方法
topコマンドでは得られない詳細な情報を取得する方法をご説明します。
topコマンド以外にも、プロセス情報を得られるコマンドは以下のとおりです。
- htopコマンドの紹介
- glancesコマンドの紹介
- nmonコマンドの紹介
- カスタマイズ可能なオプション
htopコマンドの紹介
htopコマンドは、topコマンドに似た機能を持ちながら、より使いやすいインターフェイスでリソース監視できるツール。
カラフルな表示や、マウス操作に対応しており、topコマンドよりも直感的に操作できるのが特徴です。
glancesコマンドの紹介
glancesコマンドは、システム全体のリソース使用状況を一覧表示するツールです。
さまざまなリソースの情報を一度に確認できます。
- CPU
- メモリ
- ディスク
- ネットワーク
nmonコマンドの紹介
nmonコマンドは、システムのパフォーマンス情報をリアルタイムで表示するツールです。
htopやglancesと同様に、さまざまなリソースの情報を一度に確認できますが、nmonはグラフィカルな表示が特徴です。
カスタマイズ可能なオプション
これらのツールは、オプションや設定ファイルをカスタマイズすることで、表示内容や動作を自分好みに調整できます。
詳しくは、それぞれのツールのマニュアルやヘルプを参照しましょう。
まとめ
topコマンドは、Linuxシステムのリソース監視やプロセス管理に欠かせないツールです。
以下の状況をリアルタイムで確認でき、トラブルシューティングにも役立ちます。
- CPU使用率
- メモリ使用率
- スワップ使用率
topコマンド以外にも、Linuxにはさまざまなコマンドやツールが存在します。
これらの知識を身につけることで、作業効率が上がることは間違いありません。
ぜひ学んで、触って、Linuxのコマンドを身につけましょう。