Windows環境パフォーマンスカウンターのCPU使用率「系」カウンターまとめ

Windows環境運用の初心者によるメモです。

Windowsのパフォーマンスカウンターには、CPU使用率を示す様々なカウンターがありますが
各カウンター同士の関係性(包含関係の有無など)がわかっていなかったので調べました。

Windows Server 2008 R2/Windows 7 に存在するカウンターをベースにしています。

カウンター

"使用率"系

  • \Processor Information\% Idle Time …… アイドル状態になっている時間
    • \Processor Information\% C1 Time …… C1低電力アイドル状態にある時間
    • \Processor Information\% C2 Time …… C2低電力アイドル状態にある時間
    • \Processor Information\% C3 Time …… C3低電力アイドル状態にある時間
  • \Processor Information\% Processor Time …… アイドル以外のスレッドを実行するために使用した経過時間
    • \Processor Information\% User Time …… ユーザーモードで経過した非アイドルのプロセッサ時間
    • \Processor Information\% Priviledged Time …… プロセスのスレッドが特権モードでコード実行に費やした経過時間(Linuxのシステム時間に似ている)
      • \Processor Information\% Interrupt Time …… ハードウェア割り込みを受け取り処理するための費やした時間
      • \Processor Information\% DPC Time …… 遅延プロシージャ呼び出し(DPC)の受け取り、処理に費やした時間
  • \Processor Information\% Priotiry Time …… 優先度の低くないスレッドを実行するために使用した経過時間(優先順位の低いスレッドまたはアイドルスレッドの実行に使用する時間の割合を計測し、その値を100%から引いて算出)

それ以外

  • \Processor Information\% of Maximum Frequency …… 現在の最大周波数の定格周波数に対する比率(省電力技術やターボ・ブースト・テクノロジーが有効な場合、最大周波数が変化する)

カウンター同士の関係

  • 『% Idle Time』 + 『% Processor Time』 = 100%
  • 『% Idle Time』 = 『C0ステートのアイドルだった時間(カウンターなし)』 + 『% C1 Time』 + 『% C2 Time』 + 『% C3 Time』
  • 『% Processor Time』 = 『% User Time』 + 『% Priviledged Time』
  • 『% Priviledged Time』 = 『% Interrupt Time』 + 『% DPC Time』 + 『その他カーネルモードの処理の時間(カウンターなし)』
  • 『% Priotiry Time』 = 100% - ( 『% Idle Time』 + 『優先度の低いスレッドを処理した時間(これがよくわからない)』 )

参考

www.wmifun.net

Cステート制御設定の調整 - マイクロネット