【Linux】topコマンドでメモリ・CPU使用率を監視する

【Linux】topコマンドでメモリ・CPU使用率を監視する

記事の文字数:1905

topコマンドを利用すると、CPU使用率・メモリ使用率などリソース情報をプロセスごとに一覧表示し、システム全体の負荷を確認することができます。


スポンサーリンク

topコマンドとは

CPU使用率・メモリ使用率などのリソース情報をプロセスごとに一覧表示することができるコマンドです。

起動(オプションなし)

topで起動することができます。

top

起動すると以下のような画面が表示されます。

alt text

デフォルトで画面は3秒ごとに更新されます。
コマンドを終了する場合はqキーを押下します。

操作方法

主な操作方法は以下の通りです。

  • Shift + p: CPU使用率順にプロセスをソートする
  • Shift + m: メモリ使用率順にプロセスをソートする
  • Shift + t: 実行時間順にプロセスをソートする
  • h: ヘルプを表示する
  • q: topコマンドを終了する
  • k: 指定したプロセスを終了させる
  • r: 指定したプロセスの優先度(nice値)を変更する

起動(1秒ごとに更新)

画面の更新間隔を指定する場合は-dオプションを指定します。
以下例では更新間隔を1秒に指定しています。

top -d1

起動(特定プロセスを監視)

特定のプロセスの状況をバッチモードで監視する場合、-pオプションと-bオプションを指定します。

プロセスID290を3秒ごとに監視する場合

top -p 290 -b

実行結果例

$ top -p 290 -b
top - 23:25:53 up 3:08, 1 user, load average: 0.11, 0.07, 0.02
Tasks: 1 total, 0 running, 1 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 : 2914.8 total, 1678.9 free, 543.8 used, 692.2 buff/cache
MiB Swap: 1024.0 total, 1024.0 free, 0.0 used. 2214.6 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
290 root 20 0 1147948 90392 28540 S 0.0 3.0 0:13.85 python3.10
top - 23:25:56 up 3:08, 1 user, load average: 0.11, 0.07, 0.02
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.8 us, 1.3 sy, 0.0 ni, 94.5 id, 1.7 wa, 0.0 hi, 0.5 si, 0.0 st
MiB Mem : 2914.8 total, 1629.0 free, 573.8 used, 712.1 buff/cache
MiB Swap: 1024.0 total, 1024.0 free, 0.0 used. 2183.2 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
290 root 20 0 1147948 90392 28540 S 0.3 3.0 0:13.86 python3.10
top - 23:25:59 up 3:08, 1 user, load average: 0.10, 0.07, 0.02
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.4 us, 0.2 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
MiB Mem : 2914.8 total, 1662.3 free, 540.3 used, 712.2 buff/cache
MiB Swap: 1024.0 total, 1024.0 free, 0.0 used. 2216.9 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
290 root 20 0 1147948 90392 28540 S 0.0 3.0 0:13.86 python3.10^C

rootユーザのプロセスを確認する場合

top -u root

起動オプション

topコマンドの主な起動オプションは以下の通りです。

オプション意味
-d 間隔画面の更新間隔を指定する。
-n 回数画面の表示回数を指定する。
-bバッチモード
「-n」で指定された回数または「Ctrl+C」で強制終了する。
-u監視するユーザを指定する。
-p監視するプロセスIDを指定する。

一行目の見方(top)

alt text

top -行の各項目の意味は以下の通りです。

項目内容
20:31:48現在時間
up 14 minサーバの稼働時間
1 userログインユーザ数
load average 0.05, 0.06, 0.06過去1、5、15分間のロードアベレージ(実行待ちタスク数の平均値)

二行目の見方(Tasks)

alt text

Tasks:行の各項目の意味は以下の通りです。

項目内容
total合計タスク数
running稼働中タスク数
sleeping待機中タスク数
stopped停止タスク数
zombieゾンビタスク数

三行目の見方(%Cpus)

alt text

%Cpu(s):行の各項目の意味は以下の通りです。

項目内容
usユーザプロセスが占めるCPU使用率の割合
syシステムプロセスが占めるCPU使用率の割合
ni実行優先度を変更したユーザプロセスのCPU使用率の割合
idアイドル状態のCPUの割合
waI/Oの終了待ちをしているCPUの割合
hiハードウェア割込み処理に使われたCPUの割合
siソフトウェア割込み処理に使われたCPUの割合
st仮想マシンが他の仮想マシンによってCPU時間を「盗まれた」時間の割合

四行目の見方(MiB Mem:)

alt text

MiB Mem:行の各項目の意味は以下の通りです。

項目内容
total物理メモリの合計容量
free未使用のメモリ容量
used使用中のメモリ容量
buff/cacheバッファキャッシュとして使用されているメモリの容量

五行目の見方(MiB Swap:)

alt text

MiB Swap:行の各項目の意味は以下の通りです。

項目内容
totalスワップ領域の合計容量
free未使用のスワップ領域の容量
used使用中のスワップ領域の容量
avail Memスワップを含めた利用可能なメモリの容量

プロセス一覧の見方(6行目以降)

alt text

プロセス一覧の各項目の意味は以下の通りです。

項目説明
PIDプロセスID
USERプロセスの実行ユーザ
PRプロセスの静的優先度(Priority)
NIプロセスの相対優先度(Nice value)
0が基準で、-20(最高優先度)から19(最低優先度)までの範囲で設定。
VIRT確保された仮想メモリ量(Virtual Image)
RES使用している物理メモリ量(Resident size)
SHR共有メモリ量(Shared Mem size)
Sプロセスの状態(Process Status)
D: 割り込み不能
R: 実行中
S: スリープ状態
T: 停止中
Z: ゾンビプロセス
%CPUプロセスが使用しているCPU使用率の割合
%MEMプロセスが使用しているメモリ使用率の割合
TIME+プロセスが使用したCPUの実行時間
COMMAND現在実行中のコマンド名

以上で本記事の解説を終わります。
よいITライフを!
スポンサーリンク
Scroll to Top