【Linux】実行中のプロセスを監視するコマンド:top

Linux

どーも!marusukeです!

実行中のプロセスを監視するLinuxコマンド「top」について説明します!

topコマンドを実行した時の表示内容

topコマンドを実行するとこのような表示になります

topコマンドの表示内容の詳細

上記の画像の①〜⑤までに何が表示されているかを説明します

① 1行目「top」:システム稼働状況

uptimeコマンドと同じ内容です。以下の内容が表示されています

  • システムが起動してからの経過時間
  • 現在のログインユーザー数: 現在ログインしているユーザーの数が表示されます。
  • ロードアベレージ(Load Average): 過去1分、5分、15分間のシステムの負荷状況

② 2行目「Tasks」:現在の総タスク(プロセス)数とそのうちの実行プロセス数

システムのタスクの状態を把握し、問題のトラブルシューティングやパフォーマンスの監視に役立てることができます。

以下の内容が表示されています

  • yyy running:現在実行中のタスク数
  • zzz sleeping:現在スリープ状態にあるタスク数
  • www stopped:現在停止状態にあるタスク数
  • uuu zombie:現在ゾンビ状態にあるタスク数

③ 3行目「%CPU(s)」:CPU使用状況

各項目の割合を確認することで、システムのCPU負荷やリソースの使用状況を把握することができます。

以下の内容が表示されています

  • xx.x us: ユーザーレベル(User Level)でのCPU使用率。プロセスがユーザーレベルのコードを実行してCPUを使用している割合
  • yy.y sy: システムレベル(System Level)でのCPU使用率。カーネルがシステムレベルのタスクを実行してCPUを使用している割合
  • zz.z ni: ニース値(Nice Value)に基づくCPU使用率。優先度の低いプロセスがCPUを使用している割合です。
  • aa.a id: アイドル状態のCPUの割合。何も実行していない状態のCPUの割合
  • bb.b wa: I/O待ち状態のCPUの割合。入出力処理が完了するのを待っているCPUの割合。
  • cc.c hi: 割り込み処理中のCPUの割合。割り込みハンドラなどが実行中のCPUの割合。
  • dd.d si: ソフトウェア割り込み処理中のCPUの割合。システムコールなどのソフトウェア割り込みが発生しているCPUの割合。
  • ee.e st: 仮想マシンがスティールタイム(他の仮想マシンのために使用できない時間)を受け取った割合。仮想環境でのみ表示される場合があります。

④ 4行目「MiB Mem」:メモリ(RAM)の使用状況

メモリ(RAM)の使用状況について以下の情報が示されます。メガバイト(MiB)単位で表示しています

  • xxxxxxx total: 物理メモリの総容量(Total Memory)
  • yyyyyyy free: 空きメモリの容量(Free Memory)。この部分はシステムが現在使用していないメモリの量を表します。
  • zzzzzzz used: 使用中のメモリの容量(Used Memory)。この部分はシステムが現在使用しているメモリの量を表します。
  • aaaaaaa buff/cache: バッファとキャッシュに使用されているメモリの容量(Buffer/Cache Memory)。この部分はディスクアクセスの最適化のために使用されるメモリの量を表します。

⑤ 5行目「MiB Swap」:スワップ(Swap)の使用状況

スワップとは、物理メモリ(RAM)の容量が不足している場合に使用される仮想メモリの一部であり、ディスク上の領域です。スワップの増加は、メモリ容量が足りていないことを意味し、プログラムの処理速度が遅くなっている可能性があります

以下の内容を表示しています。単位はメガバイト(MiB)です

  • xxxxxxx total: スワップ領域の総容量(Total Swap)
  • yyyyyyy free: 空きスワップ領域の容量(Free Swap)。この部分は現在未使用のスワップ領域の量を表します。
  • zzzzzzz used: 使用中のスワップ領域の容量(Used Swap)。この部分は現在使用中のスワップ領域の量を表します。
  • aaaaaaa avail Mem: 使用可能なメモリの容量(Available Memory)。この部分はスワップの代わりに利用できるメモリの量を表します。

⑥ 5行目より下の部分の表示内容について(PID, USER, PR, NI, VIRTなど)

実行中のプロセス情報をリアルタイムで表示しています。以下のようなプロセス情報を表示しています。

CPU使用率やメモリ使用率が高いプロセスや、実行時間が長いプロセスなどを特定するために確認します。

  • PID (プロセスID): プロセスの一意の識別子。
  • USER (ユーザー): プロセスを所有しているユーザーの名前。
  • PR (プライオリティ): プロセスの優先度またはスケジューリングポリシー。
  • NI (ニース値): プロセスのニース値(優先度の修正値)。
  • VIRT (仮想メモリ): プロセスが使用している仮想メモリの量。
  • RES (物理メモリ): プロセスが使用している物理メモリ(RAM)の量。
  • SHR (共有メモリ): プロセスが使用している共有メモリの量。
  • S (ステータス): プロセスの実行状態(Running、Sleeping、Stoppedなど)。
  • %CPU (CPU使用率): プロセスがCPUリソースをどれだけ使用しているかの割合。
  • %MEM (メモリ使用率): プロセスが物理メモリをどれだけ使用しているかの割合。
  • TIME+ (実行時間): プロセスがCPUを使用している総実行時間。
  • COMMAND (コマンド): プロセスが実行しているコマンドやプログラムの名前。

ここまで読んでいただきありがとうございました!

コメント

タイトルとURLをコピーしました