Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

パフォーマンスモニタ (Performance Monitor)

パフォーマンスモニタでCPUリソース監視する際の主なカウンターについて

投稿日:2020年4月12日 更新日:

(0)目次&概説

(1) 記事の目的
 (1-1) 目的
 (1-2) メモリやディスクの解説について
(2) CPUの監視
 (2-1) CPUの主な監視項目
 (2-2) CPUのカウンタ追加について
(3) CPUの主な用語について
 (3-1) ソケット
 (3-2) コア
 (3-3) 論理プロセッサ数(≒スレッド数)
 (3-4) クロック数
 (3-5) キャッシュ
(4) パフォーマンスモニタのスケールについて

(1) 記事の目的

(1-1) 目的

パフォーマンスモニタを余り使い慣れていない人向けにCPUのリソース監視で注目すべきポイントや、CPUに関する用語の解説などを行います。

(1-2) メモリやディスクの解説について

・当記事は「メモリ」関連のカウンターが対象ですが、「CPU」や「ディスク」も別記事(下記リンク)に纏めていますので、よければご参照下さい。

CPU関連の主要カウンター解説 →当記事
メモリ関連の主要カウンター解説 https://rainbow-engine.com/perfmon-memory-important-counters/
ディスク関連の主要カウンター解説 https://rainbow-engine.com/perfmon-disk-important-counters/

目次にもどる

(2) CPUの監視

(2-1) CPUの主な監視項目

パフォーマンスモニタにおけるCPU関連の主な監視項目は以下になります。

(表1)

頻出 カテゴリ カウンター名 説明
  Process % Processer Time プロセス単位でCPU使用率を%表示したもの。どのアプリがCPUを消費しているか?を切り分ける際や、特定のアプリケーションを対象にリソース監視をする場合に利用できます。
  Processer % Processer Time CPU使用率を%表示したもの。タスクマネージャのCPU欄に表示される値と同じもの。
Process % User Time ・CPU使用率のうち、ユーザーモードで消費した割合を「プロセス単位」で%で表示したものです。
・どのプロセスを対象に取得するかはカウンタの追加時に選択可能。
Processer % User Time ・CPU使用率のうち、ユーザーモードで消費した割合を%で表示したもの。
・ユーザーモードでの消費とは、アプリケーションでの処理を意味しており、もし「% Processer Time」に占める割合が高い場合はアプリを落とす等の対処が必要となります。
  Processer % Privileged Time ・CPU使用率のうち、カーネルモードで消費した割合を%で示したもの。
・カーネルモードでの消費とはOSの動作による使用等であり、もし「% Processer Time」に占める割合が高い場合はサービスを落とす等の対処がある。
  Processer Interrupt/Sec ・ハードウェアの割り込みをプロセッサが毎秒に処理した回数です。
・基本的に周辺機器の速度はCPUに比べて非常に遅いため、通常は周辺機器が処理している間にCPUは別の処理をしています。
・周辺機器の処理が完了した事を通知する方法の一つに「ポーリング」(CPUが定期的に周辺機器の完了をチェックする処理)がありますが、他の処理に影響を与えるため、逆に周辺機器の処理が完了したらCPUに割り込みで完了通知を送る方法が主流になっています。
  Processer % C1 Time プロセッサーがC1低電力アイドル状態にある時間を%表示。
プロセッサーC-Stateと呼ばれる低電力アイドル状態になっている時間を%で示す項目。C1,C2,C3の順番で復帰時間が短く、特にC3の場合はキャッシュの一貫性が保証されない。
  Processer % C2 Time プロセッサーがC2低電力アイドル状態にある時間を%表示。
  Processer % C3 Time プロセッサーがC3低電力アイドル状態にある時間を%表示。

例えば「Processer」の「% Processer Time」についてタスクマネージャのCPU欄と同じ値と書かれていますが、実際に比較した画像が以下になります。
(図2)

目次にもどる

(2-2) CPUのカウンタ追加について

(2-2-1) カウンターの選択

上記の(表1)の通りですが、基本は「Processor」のカウンターを見つつ、必要に応じて「Process」で特定のプロセスのCPUリソース状況を監視します。

目次にもどる

(2-2-2) 選択したオブジェクトのインスタンス

Processer系のカウンタはコア毎に計測対象に指定する事ができます。「0」が1つ目のコア、「1」が2つ目のコアという具合に、各コアに番号が振られており、コア単位を対象に測定もできますし、「_Total」で合計を対象にもできます。

(例)2コアの場合

_Total 全インスタンスの合計値
<全てのインスタンス> 自身以外の全ての対象を追加します(本例では「_Total」「0」「1」の3項目が追加されます)。
0 CPUの1つ目のコア
1 CPUの2つ目のコア

(図1)

目次にもどる

(3) CPUの主な用語について

(3-1) ソケット

CPUを何個搭載できるか?の値です。通常のPCでは1だが、サーバー等では2以上もあります。一般的にはPCのマザーボード(電子回路基板)の部品の一つとしてCPUソケットが付いています。

(3-2) コア

CPUで実際の処理を担う中核部分を「コア」と呼んでいます。インテルさんの動画等でコックに例えて説明してましたが以下のイメージです。

①コア数≒シェフ数
②スレッド数≒シェフ当たりのコンロ数(同時作業可能数)

 

近年はCPUのクロック数はそこまで大きく変化しておらず、どちらかというとコア数やスレッド数(論理プロセッサ数)を増やすことで性能を向上しています。

(3-3) 論理プロセッサ数(≒スレッド数)

1つのコア(物理コア)の中で疑似的に複数のコアのように動作させ(論理コア)、同時に複数の命令を実行するための機能です。見かけ上はマルチコア(複数の物理コア)のように動作するが、1つのCPUのリソースを分配して動作するため、物理的なマルチコアより性能が劣ります。

 

(3-4) クロック数

PCは電気を動力に動くため、情報はOFF(0)かON(1)かで処理されています。なのでON/OFFの切り替えが早いほど性能が高いことと同義になります。このON/OFFの切り替えのスピードが「クロック周波数」と呼びます。

クロック周波数の単位はHz(ヘルツ)を使っており、イメージとしては1秒間に何回ON/OFFの切り替えが出来るか?を示しています。

(3-5) キャッシュ

キャッシュメモリとはCPUが内臓するメモリで通常は単に「キャッシュ」と呼ばれます。CPUは基本的にはメモリ上のデータを受け取って処理を行いますが、処理速度向上のため、頻繁に利用するデータはキャッシュメモリに置いています。
キャッシュメモリには1次キャッシュ(L1)、2次キャッシュ(L2)、3次キャッシュ(L3)など複数の種類があり、数字が少ないほど高速で低容量になります。CPUは1次→2次→3次の順番でキャッシュにアクセスしていきます。

(図3)

目次にもどる

(4) パフォーマンスモニタのスケールについて

パフォーマンスモニタのスケール(縦方向の目盛り)は0~100で表現されていますが、カウンタの値によってはこの範囲に収まらない場合も当然でてきます。例えばスケール「1.0」で値が「500」の場合は上限をはみ出していますが、スケールを「0.1」に変更する事で値が「50」となりメモリの範囲内で表示できるようになります。この値を「何倍にして表示するか?」の指標がスケールです。

(図4)
(例)Available MBytes(緑)
スケール:0.000001
値:約82

82バイト×1,000,000
= 82,000,000 byte
=78.2 MB

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-パフォーマンスモニタ (Performance Monitor)

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

パフォーマンスモニタでディスク(PhysicalDisk)監視する際の主なカウンターについて+具体的にどこをカウントしているのか?を図で表現してみた

(0)目次&概説 (1) 記事の目的  (1-1) 目的  (1-2) CPUやメモリの解説について (2) ディスクの監視  (2-1) ディスクの主な監視項目  (2-2) ディスクのカウンター追 …

パフォーマンスモニタでメモリ(Memory)監視する際の主なカウンターについて+具体的にどこをカウントしているのか?を図で表現してみた

(0)目次&概説 (1) 記事の目的  (1-1) 目的  (1-2) CPUやディスクの解説について (2) メモリの監視  (2-1) メモリの主な監視項目  (2-2) メモリのカウンター追加に …

  • English (United States)
  • 日本語
Top