目次
はじめに
みなさま、プロセス状況をリアルタイム表示するtopコマンドを活用されてますでしょうか。
サーバーの負荷が上昇しているときに、どんなプロセスでメモリおよびCPUを消費しているのか確認する際に利用します。
いろいろなオプションが用意されており、便利に使うことができますので、私がいつも指定しているオプション含めて、使い方を紹介します。
環境
OS : AlmaLinux 8
topバージョン : procps-ng 3.3.15
使い方
早速、top コマンドを実行してみます。
$ top
top - 03:45:54 up 518 days, 18:19, 1 user, load average: 0.00, 0.01, 0.00
Tasks: 187 total, 1 running, 186 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 5.7 sy, 0.0 ni, 94.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 1812.6 total, 153.5 free, 723.6 used, 935.4 buff/cache
MiB Swap: 8192.0 total, 7698.6 free, 493.4 used. 849.3 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3105349 future 20 0 54480 4200 3520 R 6.2 0.2 0:00.02 top
1 root 20 0 238852 7480 5096 S 0.0 0.4 320:50.89 systemd
稼働しているプロセスの状態がリアルタイムで表示されます。
表示される各項目は下記のようになっています。
項目 | 説明 |
PID | プロセスID |
USER | 実行ユーザー名 |
PR | 実行優先順位 |
NI | nice値 |
VIRT | 利用仮想メモリ(KB) |
RES | 利用実メモリ(KB) |
SHR | 共有メモリ(KB) |
S | プロセス状態 |
%CPU | CPU占有率 |
%MEM | メモリ占有率 |
TIME+ | CPU利用時間 |
COMMAND | コマンド名 |
topコマンド実行中に対話オプションを入力することで、表示内容を変更することができます。
- メモリ使用率が高い順に並び変える : M
top - 04:01:04 up 518 days, 18:34, 1 user, load average: 0.04, 0.01, 0.00
Tasks: 188 total, 1 running, 187 sleeping, 0 stopped, 0 zombie
%Cpu(s): 5.3 us, 1.2 sy, 0.0 ni, 93.1 id, 0.2 wa, 0.2 hi, 0.2 si, 0.0 st
MiB Mem : 1812.6 total, 152.6 free, 724.4 used, 935.6 buff/cache
MiB Swap: 8192.0 total, 7698.6 free, 493.4 used. 848.5 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2992698 apache 20 0 6548380 20740 7700 S 0.0 1.1 0:44.33 httpd
2992696 apache 20 0 6548380 20716 7676 S 0.0 1.1 0:49.88 httpd
685 root 20 0 133628 19244 17952 S 0.3 1.0 24:16.20 systemd-journal
- CPU使用率が高い順に並び変える : P
top - 04:01:30 up 518 days, 18:35, 1 user, load average: 0.03, 0.01, 0.00
Tasks: 188 total, 1 running, 187 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.2 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.2 hi, 0.0 si, 0.0 st
MiB Mem : 1812.6 total, 152.7 free, 724.3 used, 935.6 buff/cache
MiB Swap: 8192.0 total, 7698.6 free, 493.4 used. 848.6 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3105923 future 20 0 54448 4500 3600 R 0.7 0.2 0:00.33 top
2997226 apache 20 0 6548380 18672 7700 S 0.3 1.0 0:47.49 httpd
1 root 20 0 238852 7480 5096 S 0.0 0.4 320:51.01 systemd
- 更新間隔を変更する : s
デフォルトは3秒間隔ですが、こちらを変更することができます。
s を入力後、変更したい秒数を入力し、Enterを押すことで変更できます。
top - 04:02:49 up 518 days, 18:36, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 188 total, 1 running, 187 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.5 sy, 0.0 ni, 99.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 1812.6 total, 153.3 free, 723.7 used, 935.6 buff/cache
MiB Swap: 8192.0 total, 7698.6 free, 493.4 used. 849.3 avail Mem
Change delay from 3.0 to 2
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2996582 apache 20 0 6548380 18696 7700 S 0.5 1.0 0:43.98 httpd
- 各CPU利用量を表示する : 1
デフォルトでは、CPU総利用量が表示されますが、これを各CPU利用量の表示に変更できます。
top - 04:05:55 up 518 days, 18:39, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 186 total, 1 running, 185 sleeping, 0 stopped, 0 zombie
%Cpu0 : 0.3 us, 0.3 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.3 hi, 0.0 si, 0.0 st
%Cpu1 : 0.0 us, 0.7 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 1812.6 total, 153.3 free, 723.7 used, 935.6 buff/cache
MiB Swap: 8192.0 total, 7698.6 free, 493.4 used. 849.2 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 238852 7480 5096 S 0.0 0.4 320:51.04 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:53.56 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_
- コマンド名にオプションなどを含め表示する : c
コマンド名を指定されたオプション含めて表示させることもできます。
top - 04:07:30 up 518 days, 18:41, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 186 total, 1 running, 185 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.5 id, 0.0 wa, 0.2 hi, 0.0 si, 0.0 st
MiB Mem : 1812.6 total, 153.2 free, 723.8 used, 935.6 buff/cache
MiB Swap: 8192.0 total, 7698.6 free, 493.4 used. 849.1 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3106189 future 20 0 54448 4312 3412 R 1.0 0.2 0:00.26 top
1 root 20 0 238852 7480 5096 S 0.0 0.4 320:51.04 /usr/lib/systemd/systemd --switched-root --system --deserialize 17
2 root 20 0 0 0 0 S 0.0 0.0 0:53.56 [kthreadd]
- カラー表示を切り替える : z
カラー表示を切り替えることもできます。
どんな色味にへんこうできるかは実際に試してみてください。
- topコマンドを終了する : q
終了する際は、q を入力することでコマンドが終了し、プロンプトが返ってきます。
まとめ
いかがでしたか?
サーバーの運用業務で必要となるプロセスの稼働状況確認において、とても便利に使えるtopコマンドの紹介でした。
是非とも活用ください。