このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Linux】実行中のプロセスをリアルタイムで表示する:topコマンド
topコマンドの概要
top
コマンドは、Linuxシステム上で実行中のプロセスをリアルタイムでモニタリングし、システムリソースの使用状況を表示するツールです。このコマンドは、CPUとメモリの使用率、実行中のプロセス、システムの平均負荷などの重要な情報を継続的に更新しながら提供します。システムのパフォーマンスを監視し、リソースの消費状況を把握するのに非常に役立ちます。
【構文】top [オプション] [指定値]
主なオプションと説明
オプション | 説明 |
---|---|
-d 間隔 | 更新間隔を秒単位で指定します。デフォルトは3秒です。 |
-u ユーザー名 | 指定したユーザー名によって実行されているプロセスのみを表示します。 |
-p プロセスID | 指定したプロセスIDに関連する情報のみを表示します。 |
コマンドの使用例と解説
1.デフォルトの使用法
・「top
」コマンドを実行します。
このコマンドは、全ての実行中のプロセスとリアルタイムのシステム情報を表示します。プロセスはCPU使用率の高い順に並べ替えられます。デフォルトでは、2秒おきに更新して表示されます。「q」キーで終了します。
user01@ubuntu-vm:~$ top
top - 00:38:50 up 2:27, 1 user, load average: 0.14, 0.05, 0.01
Tasks: 179 total, 1 running, 178 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.2 us, 0.9 sy, 0.0 ni, 98.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0
MiB Mem : 1943.3 total, 129.0 free, 829.5 used, 984.8 buff/cache
MiB Swap: 2680.0 total, 2678.5 free, 1.5 used. 911.5 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
2510 user01 20 0 3741076 269340 136640 S 2.6 13.5 0:08.23
3348 user01 20 0 732600 70456 53300 S 0.8 3.5 0:00.21
2570 user01 20 0 316472 8448 7296 S 0.4 0.4 0:00.40
365 systemd+ 20 0 14836 6784 6016 S 0.2 0.3 0:05.40
3006 user01 20 0 219912 3356 2944 S 0.2 0.2 0:17.32
1 root 20 0 166748 11864 8280 S 0.0 0.6 0:01.80
(省略)
2.更新間隔を指定して表示
・「top -d 1
」コマンドを実行します。
このコマンドは、更新間隔を1秒に設定して top
を実行します。これにより、システム情報が1秒ごとに更新され、動的な状態変化をより詳細に観察できます。「q」キーで終了します。
user01@ubuntu-vm:~$ top -d 1
top - 00:39:41 up 2:28, 1 user, load average: 0.06, 0.04, 0.00
Tasks: 179 total, 1 running, 178 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.4 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0
MiB Mem : 1943.3 total, 129.0 free, 829.5 used, 984.8 buff/cache
MiB Swap: 2680.0 total, 2678.5 free, 1.5 used. 911.6 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
2510 user01 20 0 3741100 269424 136724 S 0.6 13.5 0:08.49
1448 root 20 0 284092 2304 2048 S 0.2 0.1 0:02.09
3006 user01 20 0 219912 3356 2944 S 0.2 0.2 0:17.42
1 root 20 0 166748 11864 8280 S 0.0 0.6 0:01.80
(省略)
3.特定のユーザーのプロセスを表示
・「top -u user01
」コマンドを実行します。
このコマンドは、ユーザー user01
によって実行されているプロセスのみをフィルタリングして表示します。特定のユーザーがシステムリソースをどのように使用しているかを監視するのに便利です。「q」キーで終了します。
user01@ubuntu-vm:~$ top -u user01
top - 00:47:34 up 2:35, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 181 total, 1 running, 180 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.2 us, 2.6 sy, 0.0 ni, 97.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0
MiB Mem : 1943.3 total, 128.7 free, 829.7 used, 984.9 buff/cache
MiB Swap: 2680.0 total, 2678.5 free, 1.5 used. 911.4 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
2351 user01 20 0 17968 10624 8064 S 0.0 0.5 0:00.26
2352 user01 20 0 104500 5904 1792 S 0.0 0.3 0:00.00
2359 user01 9 -11 40616 6528 5376 S 0.0 0.3 0:00.00
(省略)
4.特定のプロセスIDの情報を表示
・「top -p 2351
」コマンドを実行します。
このコマンドは、プロセスID 2351
のプロセス情報のみを表示します。特定のプロセスのリソース使用状況を詳細に追跡する際に有用です。「q」キーで終了します。
user01@ubuntu-vm:~$ top -p 2351
top - 00:49:33 up 2:37, 1 user, load average: 0.02, 0.01, 0.00
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 1.5 sy, 0.0 ni, 98.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0
MiB Mem : 1943.3 total, 128.7 free, 829.5 used, 985.1 buff/cache
MiB Swap: 2680.0 total, 2678.5 free, 1.5 used. 911.4 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
2351 user01 20 0 17968 10624 8064 S 0.0 0.5 0:00.26
まとめ
top
コマンドは、システム管理者にとって不可欠なツールです。リアルタイムでシステムのリソース使用状況を監視し、特定のプロセスやユーザーの活動を把握することで、システムのパフォーマンスを最適化し、問題が発生した場合の迅速な対応を可能にします。さまざまなオプションを駆使することで、必要な情報を効率的に取得し、システム管理をより効果的に行うことができます。