プロセスの追跡:top
100%

プロセス利用率 · レッスン 1

プロセスの追跡:top

top を使ってシステム負荷、CPU、メモリ、プロセスごとの活動を解釈する方法を学びます。

top はシステム活動と実行中プロセスを繰り返し更新して表示します。パフォーマンスに関する仮説を立てるのに役立ちますが、一度の高負荷サンプルだけでは問題の原因を証明できません。複数回の更新を比較し、ログやワークロード固有の指標と照合してください。

システム概要を読む

一般的な表示では、概要行の後にプロセステーブルが続きます。

top - 18:06:26 up 6 days, 4:07, 2 users, load average: 0.92, 0.62, 0.59
Tasks: 389 total, 1 running, 387 sleeping, 0 stopped, 1 zombie
%Cpu(s): 1.8 us, 0.4 sy, 0.0 ni, 97.6 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 32099.0 total, 5276.3 free, 7031.2 used, 19791.5 buff/cache
MiB Swap: 32700.0 total, 32661.0 free, 39.0 used

最初の行には現在時刻、稼働時間、ログイン中ユーザー数、1分、5分、15分の負荷平均があります。タスク行はプロセス状態を数えます。負荷平均は CPU 使用率そのものではありません。Linux では実行可能なタスクと割り込み不能スリープ中のタスクを反映するため、CPU 数、I/O 活動、遅延と合わせて解釈します。

top の三つの負荷平均値は何を表しますか?

CPU 時間を解釈する

一般的な CPU フィールドには次のものがあります。

  • us: ユーザー空間での実行時間。
  • sy: カーネルでの実行時間。
  • ni: nice 値が設定されたタスクのユーザー空間時間。
  • id: アイドル時間。
  • wa: 未完了の I/O 要求がある間のアイドル時間。
  • hisi: ハードウェア割り込みとソフトウェア割り込みの処理。
  • st: ハイパーバイザーがほかのゲストに使った仮想 CPU 時間。

高い wa 値は I/O 待ちという仮説を支持しますが、デバイスの特定や、ストレージが唯一のボトルネックであることまでは証明しません。結論を出す前にデバイス遅延とアプリケーションの動作を調べます。

CPU フィールド wa は何を報告しますか?

プロセステーブルを読む

重要な列には一般に次のものがあります。

  • PIDUSERCOMMAND: 識別情報と所有者。
  • S: 実行中(R)、スリープ(S)、割り込み不能スリープ(D)、停止(T)、ゾンビ(Z)などの状態。
  • %CPU%MEM: サンプリングされた CPU 活動と物理メモリの割合。
  • TIME+: 累積 CPU 時間。
  • VIRT: タスクに関連する仮想アドレス空間の合計。
  • RES: 現在そのタスクに割り当てられ、swap されていない常駐物理メモリ。
  • SHR: ほかのプロセスと共有される可能性がある常駐メモリ。

VIRT は消費している物理 RAM 量ではありません。マッピング済みファイル、共有ライブラリ、予約済みアドレス空間、swap されたページを含む場合があります。共有ページは割り当てを複雑にするため、RES も慎重に解釈する必要があります。

プロセスの現在の常駐物理メモリにより近いフィールドはどれですか?

対象を絞って並べ替える

既知の PID を直接監視します。

$ top -p 1234,5678

一般的な procps-ng 実装では、top 内で P を押すと CPU 順、M でメモリ順、1 で CPU ごとの行を切り替え、q で終了します。キーとフィールドは実装によって異なるため、h でローカルの対話ヘルプを表示してください。

操作する前に PID、コマンド、タイムスタンプ、複数のサンプルを記録します。プロセスが一時的に最上位へ来るのは正常な場合があり、終了させるとデータ損失や障害を引き起こす可能性があります。

表示を PID 1234 に限定する呼び出しはどれですか?

レッスン完了

プロセスの追跡:top を完了しました

top を使ってシステムパフォーマンスの仮説を立て、検証できるようになりました。

  • 負荷平均を CPU 使用率ではなく、時間窓ごとの負荷として読む。

  • 複数のサンプルで CPU の各分類を比較する。

  • 仮想アドレス空間と常駐メモリを区別する。

  • 既知の PID に絞り、操作前に証拠を検証する。

学習進捗を保存

無料アカウントを作成してこのレッスンを保存し、どのデバイスからでも学習を続けられます。

無料アカウントを作成
次のレッスン
プロセス利用率 に戻る