[Linux] topコマンドの使い方 – 実行中プロセス一覧の表示・管理
topコマンドは、Linuxシステムで実行中のプロセスやシステムリソースの使用状況をリアルタイムで表示・管理するためのツールです。
コマンドを実行すると、CPU使用率、メモリ使用量、実行中のプロセス数などが表示されます。
プロセスはPID、ユーザー、優先度、メモリ使用量などの情報と共にリストされます。
q
で終了、k
でプロセスの終了、r
でプロセスの優先度変更が可能です。
- topコマンドの基本的な使い方
- プロセスの詳細情報の確認方法
- リアルタイムでのリソース監視
- 各種オプションによるカスタマイズ
- 他のプロセス管理コマンドとの違い
topコマンドとは
top
コマンドは、LinuxやUnix系のオペレーティングシステムで実行中のプロセスをリアルタイムで監視するためのツールです。
このコマンドを使用することで、CPUやメモリの使用状況、各プロセスのリソース消費量を確認することができます。
top
コマンドは、システムのパフォーマンスを把握し、リソースを効率的に管理するために非常に便利です。
特に、サーバーの運用や開発環境でのトラブルシューティングに役立ちます。
コマンドを実行すると、プロセスの一覧が表示され、リアルタイムで更新されるため、システムの状態を常に把握することが可能です。
topコマンドの画面構成
top
コマンドを実行すると、画面上部にはシステムの概要情報が表示され、その下に実行中のプロセスの一覧が表示されます。
top - 11:43:11 up 11:39, 1 user, load average: 0.00, 0.01, 0.00
Tasks: 24 total, 1 running, 23 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 32009.8 total, 30914.1 free, 924.4 used, 551.6 buff/cache
MiB Swap: 8192.0 total, 8192.0 free, 0.0 used. 31085.4 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 21804 13184 9552 S 0.0 0.0 0:00.71 systemd
2 root 20 0 2616 1512 1384 S 0.0 0.0 0:00.00 init-systemd(Ub
6 root 20 0 2616 132 132 S 0.0 0.0 0:00.00 init
48 root 19 -1 66836 21000 19868 S 0.0 0.1 0:00.61 systemd-journal
91 root 20 0 23992 6036 4832 S 0.0 0.0 0:00.14 systemd-udevd
140 systemd+ 20 0 21452 11716 9524 S 0.0 0.0 0:00.11 systemd-resolve
141 systemd+ 20 0 91020 6504 5652 S 0.0 0.0 0:00.30 systemd-timesyn
156 root 20 0 4236 2676 2428 S 0.0 0.0 0:00.02 cron
157 message+ 20 0 9628 5160 4468 S 0.0 0.0 0:00.38 dbus-daemon
以下に、各部分の詳細を説明します。
上部のシステム情報
上部には、システム全体のリソース使用状況が表示されます。
主な情報は以下の通りです。
CPU使用率の表示
CPU使用率は、システム全体のCPUがどれだけ使用されているかを示します。
通常、ユーザーによるプロセス、システムによるプロセス、アイドル状態のCPUの割合が表示されます。
これにより、CPUの負荷状況を把握できます。
メモリ使用量の表示
メモリ使用量は、物理メモリの使用状況を示します。
使用中のメモリ、空きメモリ、バッファやキャッシュに使用されているメモリの量が表示され、システムのメモリリソースの状態を確認できます。
スワップ領域の使用状況
スワップ領域は、物理メモリが不足した際に使用されるディスク上の領域です。
スワップの使用状況を確認することで、メモリ不足の問題を早期に発見することができます。
プロセス一覧の表示
画面の下部には、実行中のプロセスの詳細が一覧表示されます。
主な項目は以下の通りです。
PID(プロセスID)
各プロセスに割り当てられた一意の識別番号です。
プロセスを特定するために使用されます。
ユーザー名(USER)
プロセスを実行しているユーザーの名前が表示されます。
これにより、どのユーザーがどのプロセスを実行しているかを確認できます。
CPU使用率(%CPU)
各プロセスがCPUをどれだけ使用しているかの割合を示します。
高い値は、そのプロセスがCPUリソースを多く消費していることを意味します。
メモリ使用量(%MEM)
各プロセスが使用しているメモリの割合を示します。
これにより、どのプロセスがメモリを多く消費しているかを把握できます。
実行時間(TIME+)
プロセスが実行されている時間を示します。
これにより、プロセスの稼働時間を確認できます。
コマンド名(COMMAND)
実行中のプロセスのコマンド名が表示されます。
これにより、どのプログラムが実行されているかを確認できます。
topコマンドの基本操作
top
コマンドは、システムのプロセスをリアルタイムで監視するための強力なツールです。
ここでは、基本的な操作方法について説明します。
topコマンドの起動方法
top
コマンドを起動するには、ターミナルを開いて以下のコマンドを入力します。
top
このコマンドを実行すると、プロセスの一覧が表示され、システムのリソース使用状況がリアルタイムで更新されます。
topコマンドの終了方法 (qキー)
top
コマンドを終了するには、表示されている画面でq
キーを押します。
これにより、top
コマンドが即座に終了し、ターミナルのプロンプトに戻ります。
プロセスの並び替え (Pキー、Mキー)
プロセスの表示を並び替えることができます。
以下のキーを使用します。
P
キー:CPU使用率で並び替えM
キー:メモリ使用量で並び替え
これにより、リソースを多く消費しているプロセスを簡単に特定できます。
プロセスの優先度変更 (rキー)
特定のプロセスの優先度を変更するには、r
キーを押します。
次に、優先度を変更したいプロセスのPIDを入力し、新しい優先度を指定します。
優先度は、-20(最高)から19(最低)までの範囲で設定できます。
プロセスの終了 (kキー)
実行中のプロセスを終了するには、k
キーを押します。
次に、終了したいプロセスのPIDを入力し、終了シグナルを指定します。
デフォルトでは、15
(TERMシグナル)が使用されますが、強制終了する場合は9
(KILLシグナル)を指定できます。
表示の更新間隔の変更 (dキー)
top
コマンドの表示更新間隔を変更するには、d
キーを押します。
次に、希望する更新間隔(秒数)を入力します。
これにより、プロセス情報の更新頻度を調整できます。
デフォルトの更新間隔は3秒です。
topコマンドのオプション
top
コマンドには、さまざまなオプションが用意されており、特定のニーズに応じて表示内容をカスタマイズできます。
以下に、主なオプションを紹介します。
topコマンドの主なオプション
-d:更新間隔の指定
-d
オプションを使用すると、表示の更新間隔を秒単位で指定できます。
例えば、1秒ごとに更新したい場合は、以下のようにコマンドを実行します。
top -d 1
これにより、1秒ごとにプロセス情報が更新されます。
-p:特定のプロセスIDを監視
-p
オプションを使用すると、特定のプロセスID(PID)のみを監視できます。
例えば、PIDが1234のプロセスを監視する場合は、以下のようにコマンドを実行します。
top -p 1234
これにより、指定したプロセスの情報だけが表示されます。
-u:特定のユーザーのプロセスを表示
-u
オプションを使用すると、特定のユーザーが実行しているプロセスのみを表示できます。
例えば、ユーザー名がuser1
の場合は、以下のようにコマンドを実行します。
top -u user1
これにより、user1
が実行しているプロセスの情報が表示されます。
-n:指定回数で終了
-n
オプションを使用すると、指定した回数だけ表示を更新した後に自動的に終了します。
例えば、5回更新した後に終了する場合は、以下のようにコマンドを実行します。
top -n 5
これにより、5回の更新後にtop
コマンドが終了します。
オプションの組み合わせ例
複数のオプションを組み合わせて使用することも可能です。
例えば、特定のユーザーのプロセスを1秒ごとに更新し、5回だけ表示する場合は、以下のようにコマンドを実行します。
top -u user1 -d 1 -n 5
このコマンドにより、user1
が実行しているプロセスが1秒ごとに更新され、5回の更新後に自動的に終了します。
オプションを組み合わせることで、より柔軟にプロセスの監視が可能になります。
topコマンドのカスタマイズ
top
コマンドは、表示内容をカスタマイズすることで、ユーザーのニーズに合わせた情報を提供します。
以下に、カスタマイズの方法を説明します。
表示項目のカスタマイズ (fキー)
top
コマンドの表示項目をカスタマイズするには、f
キーを押します。
これにより、表示される項目のリストが表示され、各項目の選択や非表示を設定できます。
選択したい項目の前にあるスペースを押すことで、表示/非表示を切り替えられます。
設定が完了したら、Enter
キーを押して変更を適用します。
表示形式の変更 (tキー、mキー)
表示形式を変更するには、以下のキーを使用します。
t
キー:システム情報の表示を切り替えます。
これにより、CPUやメモリの使用状況を詳細に表示するか、簡略表示に切り替えることができます。
m
キー:メモリの使用状況の表示形式を切り替えます。
これにより、物理メモリやスワップ領域の情報を異なる形式で表示できます。
これらのキーを使用することで、必要な情報を見やすく表示できます。
色のカスタマイズ (zキー)
top
コマンドの表示色をカスタマイズするには、z
キーを押します。
これにより、色の設定メニューが表示され、CPU使用率やメモリ使用量などの色を変更できます。
色を変更することで、視認性を向上させ、重要な情報を強調することができます。
設定の保存 (Wキー)
カスタマイズした設定を保存するには、W
キーを押します。
これにより、現在の設定が~/.toprc
というファイルに保存され、次回top
コマンドを実行した際に自動的に適用されます。
これにより、毎回設定を行う手間を省くことができます。
設定をリセットしたい場合は、このファイルを削除することでデフォルト設定に戻すことができます。
topコマンドの応用例
top
コマンドは、システムの監視だけでなく、特定のニーズに応じたさまざまな応用が可能です。
以下に、いくつかの応用例を紹介します。
特定のプロセスを監視する方法
特定のプロセスを監視するには、-p
オプションを使用します。
例えば、PIDが1234のプロセスを監視したい場合は、以下のようにコマンドを実行します。
top -p 1234
これにより、指定したプロセスの情報のみが表示され、他のプロセスは無視されます。
特定のプロセスの動作を詳細に監視したい場合に便利です。
リソース消費の多いプロセスを特定する方法
top
コマンドを使用して、リソース消費の多いプロセスを特定するには、起動後にP
キーを押してCPU使用率で並び替えます。
これにより、CPUを最も多く使用しているプロセスが上部に表示されます。
同様に、M
キーを押すことでメモリ使用量で並び替えることもできます。
これにより、リソースを大量に消費しているプロセスを迅速に特定できます。
バッチモードでの使用 (-bオプション)
top
コマンドをバッチモードで使用するには、-b
オプションを指定します。
バッチモードでは、プロセス情報が標準出力に出力され、リアルタイムの更新は行われません。
例えば、以下のようにコマンドを実行します。
top -b -n 1
このコマンドは、1回だけプロセス情報を出力し、終了します。
スクリプトやログファイルに出力する際に便利です。
topコマンドの出力をファイルに保存する方法
top
コマンドの出力をファイルに保存するには、バッチモードを使用し、リダイレクトを利用します。
以下のようにコマンドを実行します。
top -b -n 1 > top_output.txt
このコマンドは、1回のプロセス情報をtop_output.txt
というファイルに保存します。
これにより、後でプロセスの状態を確認したり、分析したりすることができます。
topコマンドと他のプロセス管理コマンドの比較
top
コマンドは、LinuxやUnix系システムでプロセスを監視するための重要なツールですが、他にも多くのプロセス管理コマンドがあります。
ここでは、top
コマンドと他の代表的なコマンドとの違いを比較します。
topコマンドとpsコマンドの違い
特徴 | topコマンド | psコマンド |
---|---|---|
リアルタイム更新 | あり | なし |
表示形式 | 動的(リアルタイムで更新) | 静的(コマンド実行時のスナップショット) |
使用目的 | システム全体の監視 | 特定のプロセスの情報取得 |
表示情報の詳細度 | 詳細なリソース使用状況 | 基本的なプロセス情報 |
top
コマンドはリアルタイムでプロセスの情報を更新し、システム全体のリソース使用状況を把握するのに適しています。
一方、ps
コマンドは特定の時点でのプロセス情報を取得するため、スクリプトやログの取得に便利です。
topコマンドとhtopコマンドの違い
特徴 | topコマンド | htopコマンド |
---|---|---|
インターフェース | テキストベース | カラフルなテキストベースのインターフェース |
操作性 | キーボード操作のみ | マウス操作も可能 |
プロセスの操作 | 限定的(優先度変更、終了など) | より多くの操作が可能 |
カスタマイズ性 | 限定的 | 高い(表示項目や色の変更など) |
htop
コマンドは、top
コマンドの拡張版であり、より視覚的で使いやすいインターフェースを提供します。
マウス操作が可能で、プロセスの操作やカスタマイズが容易です。
topコマンドとvmstatコマンドの違い
特徴 | topコマンド | vmstatコマンド |
---|---|---|
表示情報 | プロセス情報とリソース使用状況 | システム全体のメモリ、CPU、I/Oの統計 |
リアルタイム更新 | あり | あり(指定した間隔で更新) |
使用目的 | プロセスの監視 | システムのパフォーマンス分析 |
詳細度 | プロセスごとの詳細情報 | システム全体の統計情報 |
vmstat
コマンドは、システム全体のメモリ、CPU、I/Oの統計情報を提供し、パフォーマンスの分析に役立ちます。
top
コマンドはプロセスごとの詳細な情報を提供するため、用途に応じて使い分けることが重要です。
よくある質問
まとめ
この記事では、top
コマンドの基本的な使い方や画面構成、オプション、カスタマイズ方法、応用例、他のプロセス管理コマンドとの比較について詳しく解説しました。
これにより、システムのプロセスを効率的に監視し、管理するための手法を学ぶことができました。
今後は、実際にtop
コマンドを活用して、システムのパフォーマンスを向上させるための具体的なアクションを試みてみてください。