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

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

Amazonのアソシエイトとして、ITナレッジライフは適格販売により収入を得ています。

記事の文字数:1,720 / 総アクセス数:3,479 views

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現在実行中のコマンド名

Linuxユーザにお勧めの本

新しいLinuxの教科書 第2版

難易度
実用性
読みやすさ

一生モノの基礎知識が身につく定番書です。

ゼロからわかる Linuxコマンド200本ノック―基礎知識と頻出コマンドを無理なく記憶に焼きつけよう!

難易度
実用性
習得度

アウトプット重視で記憶に定着しやすい。反復練習でLinux操作が自由自在になります。

エンジニア1年生のための世界一わかりやすいLinuxコマンドの教科書

難易度
実用性
読みやすさ


以上で本記事の解説を終わります。
よいITライフを!

Linuxユーザにお勧めの本

新しいLinuxの教科書 第2版

難易度
実用性
読みやすさ

一生モノの基礎知識が身につく定番書です。

人気記事


記事を評価

Thanks!
目次
Scroll to Top