Windowsの反応が悪いときなど、CPUの負荷状態を知りたくなることがある。一番簡単な方法としては、タスクマージャーを使うのがいいだろう。タスクマネージャーのパフォーマンスタブにあるCPUを見ると、プロセッサの使用率が表示されている。これが現在のCPUの負荷状態を表している。
![Windows上でCPUの負荷状態を調べためのいくつかの方法](/img/2023/12/03/3649338/l/83cb99ff635cc144.png)
タスクマネージャーのパフォーマンスタブでCPUを選択したとき、グラフの下に出る「使用率」がCPUの負荷状態を表す。これは、パフォーマンスカウンターの「Processor Information」カウンターセットにある、「% Processor Utility」カウンターの「_Total」インスタンスに相当する
Windowsでは、CPUはスレッドをQuantumと呼ばれる短い時間で実行しては、別のスレッドに切り替えて実行するという処理を繰り返す。実行すべきスレッドがなければ、アイドルプロセスを実行する。アイドルプロセスとは、基本的には何もしない擬似的なプロセスである。一定時間内のアイドルプロセスと非アイドルプロセスの実行時間の比率が「使用率」である。
パフォーマンスカウンターで見る
CPU負荷のようなWindows内部の情報は、「パフォーマンスカウンター」として扱えるようになっている。このパフォーマンスカウンターはWindowsのシステム状態を表すもので、APIを介して取得できる。タスクマネージャーやパフォーマンスモニター、あるいはtypeperf.exeといったシステム情報を扱うプログラムは、すべてパフォーマンスカウンターから情報を得ている。
パフォーマンスカウンターでは、CPU負荷率のような単一の項目を「カウンター」と呼ぶ。カウンターには必ず名前があって、測定項目を表す。
複数のカウンターを対象や目的などによりグループ化したものを「カウンターセット」と呼ぶ。前記のCPU負荷率は、「Processor Information」というカウンターセットに属している。ただし、異なるカウンターセットに同じ名前を持つカウンターが属していることがある。しかし、それぞれは異なるものとして扱われる。
カウンターセットに「Processor」と「Processor Information」があるが、後者はWindows 7/Windows Server 2008R2で高精度な測定をするために新設されたカウンターで、前者はそれ以前からあるものだ。「Processor」は、64コア以上に対応しないなどの制限がある。こうしたカウンターセットは、パフォーマンスカウンター・プロバイダーと呼ばれるプログラム(DLL)が情報を提供している。
また、カウンターには「インスタンス」がある。たとえば、CPU負荷率(\Processor Information\ % Processor Utility)というカウンターには、CPUコアごとに「インスタンス」があり、インスタンスは具体的なカウンター値を持つ。
システム負荷を調べるためのGUIアプリケーション
CPUの負荷状態を見るためのプログラムには、「パフォーマンスモニター」や「リソースモニター」などのGUIプログラムもある。特にパフォーマンスモニターは、パフォーマンスカウンターを表示・記録するためのツールとして作られたもの。グラフ表示ができるため、現在の状態を「可視化」することが可能だ。古くからあるツールなので、使い方をご存じのユーザーも多いとは思うが、あらためてポイントを押さえておく。
毎回、同じカウンタをグラフ表示させたい場合、設定を保存したくなるが、パフォーマンスモニター内からはできない。パフォーマンスモニターなどWindowsの管理ツールは、Windows管理コンソールというプログラムに「スナップイン」が登録されたもので、それを記録したのがmscファイル。毎回同じグラフを表示させるには、このmscファイルを作成する必要がある。
パフォーマンスモニターのグラフ項目を追加するとき、PATH環境変数に「C:\Windows\System32\WBEM」フォルダが登録してあるとエラーになるため、最初にこれを削除する。作業は、「設定」→「システム」→「バージョン情報」→「関連リンク」→「システムの詳細設定」→「環境変数」でする。
次にWindows管理コンソール(C:\Windows\System32\mmc.exe)を起動し、ファイルメニューにある「スナップインの追加と削除」を選択。「パフォーマンスモニター」を追加する。あとは、グラフ項目を追加し、必要な設定やウィンドウサイズや表示形式を選択して、ファイルメニューから「名前を指定して保存」を選び、適当なフォルダにmscファイルを保存する。以後は、このmscファイルを実行させれば、毎回同じグラフを表示できる。
また、パフォーマンスモニターは、カウンタやカウンタセット、インスタンスなどをグラフの項目追加ダイアログの中で表示できる。「説明」も日本語化されている。
![](/img/blank.gif)
この連載の記事
-
第441回
PC
WSL以前から40年以上続く、Windows(Microsoft)とUNIXとの関わり -
第440回
PC
そもそも「Copilot+ PC」とは何なのか? -
第439回
PC
今更more.comを使うのか!? Windowsでのページングを考える -
第438回
PC
Windowsはなぜ再起動が必要になるのか? -
第437回
PC
Windowsが今更(?)開発者に優しくなろうとしている!? 「Dev Home」は開発者にとって使い物になる? -
第436回
PC
Copilot+PCとともにWindowsのデバイス間連携に大きな変化!? Project ROMEの逆襲? -
第435回
PC
Windows Terminal Preview v1.21では、前回終了時のタブとその表示内容を復元できるように -
第434回
PC
AIの急速な導入がWindowsの予定を変えた!? Windows 12がすぐには出ない可能性 -
第433回
PC
Windows 11の2つのウィジェットを調べる -
第432回
PC
ウェブブラウザが切り開いたWindowsでのタブアプリケーション -
第431回
PC
Windows上でユニコードを「見る」方法 - この連載の一覧へ