このページで解説している内容は、以下の 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 コマンドは、システム管理者にとって不可欠なツールです。リアルタイムでシステムのリソース使用状況を監視し、特定のプロセスやユーザーの活動を把握することで、システムのパフォーマンスを最適化し、問題が発生した場合の迅速な対応を可能にします。さまざまなオプションを駆使することで、必要な情報を効率的に取得し、システム管理をより効果的に行うことができます。