

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
pidstatとは?
pidstatは Linux のシステムパフォーマンスを監視するためのコマンドの一つです。sysstat パッケージの一部として提供され、プロセスごとの CPU 使用率やメモリ・I/O の統計を時間間隔で観察できます。初心者にも分かりやすく、リアルタイムでの挙動を確認するのに適しています。
このツールを使う目的は、どのプロセスがボトルネックになっているのかを見つけ出すことです。CPU負荷の分布やI/O待ちがどのプロセスに集中しているのかを把握することで、改善の方向性を見つけやすくなります。
使い方の基本
- インストール: Debian系なら sudo apt-get install -y sysstat、RedHat系なら sudo yum install sysstat などで入ります。インストール後は sysstat が有効になっているかを確認します。
- 基本的な使い方:コマンドは pidstat [ interval [ count ] ] の形式で、最初の呼び出し後 interval 秒ごとにデータを表示します。初期値は 1 秒です。特定のプロセスを追いたい場合は -p オプションで PID を指定します。
- 実務での使い分け:-u は CPU 使用率、-d は I/O、-r はメモリ、-p は特定プロセスの監視を行います。複数のオプションを組み合わせて使うことができます。
代表的なオプション
| 意味 | |
|---|---|
| -u | 各プロセスの CPU 使用率を表示 |
| -d | I/O に関する変化量を表示 |
| -r | メモリ使用量の統計を表示 |
| -p | 特定のプロセスを監視。例: pidstat -p 1234 |
| -l | コマンド名の長い表示を行う |
実践的な使い方の例
例1: 単純に CPU 使用率を監視する。<span> pidstat -u 1 と実行すると、1 秒ごとに全プロセスの CPU 使用率が表示されます。
例2: 特定の PID の CPU と I/O を観察する。 pidstat -p 1234 1 など。
例3: メモリと I/O を同時に見たい場合は pidstat -r -d 1 のように複数のオプションを同時に併用します。
出力の読み方のコツ
pidstat の出力は、プロセスごとの統計が時間軸で並びます。重要な指標は以下のとおりです。
| 項目 | 意味 |
|---|---|
| PID | プロセスID |
| %usr | ユーザモードでの CPU 使用率 |
| %system | カーネルモードでの CPU 使用率 |
| %CPU | 合計の CPU 使用率の目安(大きい値が続くと処理が重い可能性) |
| CMD | プロセスの名前/コマンド |
出力を読み取るコツは、まず長い時間の推移を観察してピークを出している PID を絞り込み、top や ps と組み合わせて原因プロセスを特定することです。
pidstat は リアルタイム性と詳細さの両方を兼ね備えており、全体像と個別の動きを同時に追いやすくなります。
なぜ pidstat を使うのか
日常のサーバー運用では、ピーク時の遅延や CPU 過負荷を素早く検知することが重要です。pidstat は 短時間のデータだけでなく、 intervals を長く設定すれば長期的な傾向も把握できます。ボトルネックの原因を特定する際には、pidstat と他のツールを併用するのが効果的です。例えば top で全体像を見つつ、pidstat で個別のプロセスを詳しく追跡すると、どのファイルやデバイスが遅延の原因になっているかも分かりやすくなります。
pidstatの同意語
- pidstat
- Linuxのsysstatパッケージに含まれるコマンドで、プロセスごとの統計情報(PID別のCPU時間、I/O、メモリ使用量など)を表示します。
- pidstatコマンド
- pidstatを指す別名。sysstatパッケージのコマンドで、プロセスごとのリソース使用状況を観察するのに使います。
- pidstatツール
- pidstatを指す表現の一つ。コマンドラインツールとして動作し、PID別の統計を提供します。
- プロセス別統計表示コマンド
- プロセスごとの統計情報を表示する機能を持つコマンドの総称のひとつ。pidstatはこの用途の代表例です。
- プロセス別CPU・I/O統計表示ツール
- プロセスごとのCPU時間とI/Oの統計を表示するツール。pidstatはこの用途に適しています。
- PID別リソース使用量表示コマンド
- PIDごとにCPU・I/O・メモリなどのリソース使用量を表示するコマンド。pidstatが該当します。
- PID統計表示コマンド
- PID別の統計情報を表示するコマンドの表現。pidstatがその実装例です。
- sysstatのpidstat機能
- sysstatパッケージに含まれるpidstat機能のこと。PIDごとの統計を取得・表示します。
- Linux pidstat
- Linux環境で動作するpidstatコマンド。
- プロセス統計監視ツール
- プロセスの統計を監視・表示するツール群の中の1つとしてのpidstat。CPU・I/O・メモリの指標を観察できます。
pidstatの対義語・反対語
- 全体統計
- pidstat が扱う「個別プロセス単位のデータ」に対して、システム全体を視点にした統計。全プロセスのリソース使用を合算して、システム全体の状態を把握する反対概念です。
- 総計データ
- 個別のプロセスを分解せず、全プロセスのデータを合計した値。全体の負荷の規模をざっくり把握する際の指標です。
- 要約統計
- 細かな内訳よりも全体の傾向を要約して示す統計。パターンやトレンドをつかむ際に役立ちます。
- 粗粒度統計
- プロセス単位の詳細を省略し、粗い粒度でリソース使用を表現するデータ。細部より全体像を重視する視点です。
- プロセス非依存指標
- 特定のプロセスに紐づかない指標。全体のCPU使用率やI/O待ち時間など、プロセス個別ではない指標を指します。
- システム全体監視
- システム全体の健全性とパフォーマンスを横断的に監視するアプローチ。個別プロセスに偏らない視点です。
- 集約表示
- 複数のプロセスデータを集約して表示する表示形式。個別の内訳を隠して全体像を示します。
- 高レベル指標
- 個々のプロセス詳細には踏み込まず、全体の状況を示す高レベルな指標。広い視野での判断に適しています。
- ハードウェア指標
- CPUコア数・帯域・メモリ容量など、ハードウェア寄りの指標を含む視点。ソフトウェア側の個別データとは異なる切り口です。
- 低詳細モード
- 詳細なプロセス別データを省略し、概要レベルの表示に留める表示モード。
- 全体リソース傾向
- CPU・メモリ・ディスクI/Oなど、全体のリソース使用傾向を追うデータ。長期的な傾向把握に向きます。
- サマリ表示
- 全体の要点を短くまとめた表示。初心者にも把握しやすい要約形です。
pidstatの共起語
- CPU使用率
- 各プロセスがCPUを使用する割合を表し、%CPU などの値で表示されます。
- ユーザCPU時間
- ユーザモードで消費したCPU時間を示します(ユーザ時間)。
- システムCPU時間
- カーネルモードで消費したCPU時間を示します(システム時間)。
- ゲストCPU時間
- 仮想化環境のゲストOSが消費したCPU時間を示します。
- I/O待ち
- I/O操作を待っている時間の割合を示します(I/O待ち時間)。
- I/O統計
- ディスクI/Oの量や回数、スループットなどの統計情報です。
- メモリ使用量
- プロセスが利用しているメモリ量の目安です(RSS/VSZなど)。
- 最小ページフォルト
- ページを物理メモリにまだ存在していないため起こる最小のページフォルトの回数です。
- 主要ページフォルト
- ディスクから新しいページを取得する際に発生するページフォルトの回数です。
- スレッド別統計
- pidstat -t で表示される、スレッドごとの統計情報です。
- プロセスID
- 監視対象の各プロセスを識別する一意のIDです。
- プロセス名
- 各プロセスの名前(コマンド名)を表示します。
- sysstatパッケージ
- pidstatを含む一連の性能監視ツールがまとめられたパッケージの名称です。
- sar
- sysstatの別ツールで、過去のシステム全体の統計を時系列で確認できます。
- iostat
- ディスクI/Oの統計を表示するツールで、ストレージのパフォーマンスを把握します。
- 特定PIDの監視
- 特定のPIDのみを対象に監視する設定(-pオプションなど)です。
- データ収集間隔
- pidstatがデータを取得する間隔を指し、秒単位で指定します。
pidstatの関連用語
- pidstat
- pidstatはsysstatパッケージに含まれるコマンドで、プロセス単位のCPU、I/O、メモリ統計を定期的に収集して表示します。特定の期間ごとのプロセスのパフォーマンスを把握するのに役立ちます。
- sysstat
- sysstatはパフォーマンス統計を収集・表示するツール群の総称。pidstat、sar、iostat、mpstat、vmstatなどを含みます。
- sar
- System Activity Reporterの略。システム全体の活動を収集・報告するツールで、長期的な負荷傾向の分析に適しています。
- iostat
- I/O統計を表示するツール。ディスクやデバイスごとの読み書きの速さ・待ち時間を確認できます。
- mpstat
- 各CPUコア(またはソケット)ごとの統計を表示するツール。CPU利用率をコア別に把握できます。
- vmstat
- 仮想メモリとページング、I/O、CPUの統計を表示します。
- top
- リアルタイムで実行中のプロセスのリストを表示し、CPU・メモリ使用量などを監視します。
- htop
- topの対話型拡張版。色分けや操作性が向上しています。
- procfs
- /procという仮想ファイルシステムを指します。プロセス情報や統計データをファイルとして取得できます。
- PID
- プロセスID。各プロセスを一意に識別する番号です。
- PPID
- 親プロセスID。現在のプロセスを起動した親プロセスのIDです。
- UID
- 所有者のユーザーID。プロセスの所有者を識別します。
- ユーザCPU時間
- プロセスがユーザモードで消費したCPU時間の割合。%usrなどで表現されます。
- システムCPU時間
- プロセスがカーネルモードで消費したCPU時間の割合。%systemなどで表現されます。
- ゲストCPU時間
- 仮想化環境でゲストOSが使用したCPU時間の割合。%guestなどで表現されます。
- RSS
- 実メモリ使用量。プロセスが現在物理メモリにどれだけ居るかを示します(RSS)。
- VSZ
- 仮想メモリサイズ。プロセスが割り当てた仮想アドレス空間の総量を示します。
- read_bytes
- プロセスが読み取ったデータ量(バイト数)。
- write_bytes
- プロセスが書き込んだデータ量(バイト数)。
- minor_faults
- 小さなページフォールト数。ページが物理RAM内にない場合に発生します。
- major_faults
- 大きなページフォールト数。ディスクからページを読み込む必要があった回数です。
- コンテキストスイッチ
- CPUが別のプロセスへ切り替わる回数。並行実行の度合いを示します。
- 監視間隔
- pidstatのデータ収集・表示の間隔(秒単位)。
- PID指定オプション
- -pオプションを使って特定のPIDだけを監視する仕組み。



















