虎之助の徒然記

CPU温度やCPU使用率のログを取る (Win10)

【概要】

 WindowsでCPU温度・CPU使用率のログを取る方法についてまとめました。Windows標準の「コンピュータの管理」のパフォーマンスのモニタリングツールを使えば、ログをファイルに書き出せます。

1. はじめに

 前回の記事では、冷却台の評価のためパソコンの温度計測を行いましたが、画面をキャプチャしながら、取り扱っていました。いろいろと不便です。調べてみると、パソコンのいろいろな内部情報をファイルへ書き出すことができることが分かりました。

 本稿では、そのような内部情報のファイルへの記録方法について説明します。

2. ログを取る

 以下では、記録するデータとしてCPU温度とCPU使用率を例に説明します。

2.1 データコレクターセットの定義

 まず、「コンピュータの管理」でモニタするコンピュータ情報のデータのセット「データコレクターセット」を定義します。

2.1.1 「ユーザ定義」を作成する

 まず、データコレクターセットの「ユーザ定義」を作成します。その後、「ユーザ定義」をカスタマイズします(次節)。

データコレクターセットの作成画面を開く

  • 「コンピュータの管理(ローカル)」→「システムツール」→「パフォーマンス」→「データコレクターセット」→「ユーザー定義」の右クリックで「新規作成(N)」→「データコレクターセット」を選択
f:id:toranosuke_blog:20180817170645p:plain:w500

データコレクターの名前の設定

  • 「名前(M)」を設定し、「次へ(N)」
    • ここでは、デフォールトの「New Data Collector Set」のままで説明
    • 「テンプレートから作成する(推奨)(T)」はそのまま。
f:id:toranosuke_blog:20180817170650p:plain:w500

テンプレートの設定

  • 「テンプレートデータコレクターセット(T)」で「Basic」を選択し、「次へ(N)」
f:id:toranosuke_blog:20180819104650p:plain:w500

データの保存場所の設定

  • 「ルートディレクトリ(D)」を設定し、「次へ(N)」進む。
f:id:toranosuke_blog:20180819105248p:plain:w500

データコレクターセットを作成・保存する

  • 「保存して閉じる(W)」のまま、「完了(F)」する。
f:id:toranosuke_blog:20180819105450p:plain:w500

2.2 収集するデータの設定

 前節で作成したユーザー定義の「New Data Collector Set」に対して、収集するデータを設定します。

不要な収集データの削除

  • 「New Data Collector Set」の「Configuration」「Kernel Trace」を削除する。
     「Configuration」や「Kernel Trace」で右クリックし、「削除(D)」を選択する。
f:id:toranosuke_blog:20180819112649p:plain:w500


不要なパフォーマンスカウンターを削除

  • 「Performance Counter」を右クリック→「プロパティ(R)」を選択→「Performance Counterのプロパティ」のウィンドウを開く。
f:id:toranosuke_blog:20180819113509p:plain


  • 不要なパフォーマンスカウンター「¥Processor()¥」を削除する。
f:id:toranosuke_blog:20180819113651p:plain

CPU温度とCPU使用率のデータ収集を設定

  • 「Performance Counterのプロパティ」の「追加」から、CPU温度とCPU使用率を設定する。
f:id:toranosuke_blog:20180819114029p:plain:w500
CPU温度の追加

f:id:toranosuke_blog:20180819114206p:plain:w500
CPU使用率の追加
  • 「Performance Counterのプロパティ」で「サンプルの間隔(I)」と「最大サンプル数(M)」を設定する。
     ここでは、10秒間隔で、最大10000サンプル、つまり、約28時間(10x10,000/3600=27.8時間)のデータを記録するように設定している。

 「Performance Counterのプロパティ」で、適宜、「ログフォーマット(F)」や「ログファイル名(N)」、「ファイ名のフォーマット(F)」などを設定する。

  • 「New Data Collector Setのプロパティ」→「停止条件」タブで停止条件を設定する。  「全体の期間(D)」を適宜設定する。デフォールト値は、「全体の期間」として1分が設定されているので、1分のデータしか記録されない場合は、ここの設定を確認する。
f:id:toranosuke_blog:20180819202012p:plain

2.2 データ収集の開始

  • 新しくユーザー定義した「New Data Collector Set」でデータ収集を開始する。
     ユーザー定義の「New Data Collection Set」を右クリックし、「開始」を選択する。

  • 指定した出力ファイル名で収集データが保存される。
     指定した出力ファイル名は、「New Data Collector Setのプロパティ」の「ファイル名の例」で確認できる。

  • 保存されたデータの例
     「ログフォーマット(F)」で「タブ区切り」を出力した場合の出力例です。

"(PDH-TSV 4.0) ("   "\\KALI\Thermal Zone Information(\_TZ.THRM)\Temperature"    "\\KALI\Processor(_Total)\% Processor Time"
"08/19/2018 12:16:12.413"   "327"   " "
"08/19/2018 12:16:22.415"   "326"   "11.099851579793995"
"08/19/2018 12:16:32.411"   "327"   "11.546767349739318"
"08/19/2018 12:16:42.416"   "327"   "13.947944802304935"
"08/19/2018 12:16:52.422"   "326"   "10.457082756639725"
"08/19/2018 12:17:02.412"   "326"   "14.03997696466247"
"08/19/2018 12:17:12.418"   "328"   "14.091034207271369"
"08/19/2018 12:17:22.424"   "326"   "9.1432902279966815"
"08/19/2018 12:17:32.415"   "325"   "9.6579174171366517"
"08/19/2018 12:17:42.420"   "325"   "13.7184316714544"
"08/19/2018 12:17:52.408"   "326"   "14.118761909741039"
"08/19/2018 12:18:02.414"   "326"   "14.288049643974221"
"08/19/2018 12:18:12.419"   "326"   "14.786049969030024"
"08/19/2018 12:18:22.410"   "325"   "9.5827334511697444"
"08/19/2018 12:18:32.414"   "326"   "18.651734511613704"

 2列目が温度(K)、3列目がCPU使用率です。10秒間隔でデータが記録されています。

 この例では、「New Data Collection Setのプロパティ」→「全般タブ」の「説明(T)」を削除しています。削除しない場合は、「説明(T)」の内容が一行目に表示されます。

3. 収集したデータの表示

3.1 記録したデータの表示

 「パフォーマンスモニター」を使って、記録したデータを表示することができます。

  • 「パフォーマンスモニターのプロパティ」→「ソース」タブ→「データソース」→「ログファイル(L)」で記録したデータを指定する。
    「時間の範囲(T)」で、指定した範囲のデータを表示できます。
f:id:toranosuke_blog:20180819131449p:plain

3.2 データ収集とリアルタイムでのモニタ

 データの収集時でもデータ(CPU温度・CPU使用率)を「パフォーマンスモニター」でリアルタイムでモニタすることができます。

  • 「パフォーマンスモニターのプロパティ」→「ソース」タブ→「データソース」→「現在の活動状況(C)」を指定する。
f:id:toranosuke_blog:20180819143443g:plain
CPU温度(赤)とCPU使用率(青)を表示。
(パフォーマンスモニターの「プロパティ」で右クリック→「イメージを保存(I)」でグラフ画像が保存できる)


 ここで、データ収集中のファイルを指定するとエラーとなります。

f:id:toranosuke_blog:20180819202828p:plain
データ収集中のログファイルはデータソースとして指定できない。


  • 個々のデータを別々に表示  CPU温度とCPU使用率では、データの範囲が異なるので、見にくい場合には、「コンピュータの管理」を複数開けば、それぞれのデータ範囲に合わせたグラフを表示できます。
f:id:toranosuke_blog:20180819143552p:plain
7zipでCPUスレッド数を8→0(停止)→1→2→4→6→8→0と変更している。

まとめ

 WindowsでCPU温度・CPU使用率のログを取る方法についてまとめました。一旦、ファイルに保存してから、データを加工するときに便利だと思います。ご参考にして頂ければ幸いです。

(2018/8/19)

関連記事


Amazonで見つけた面白いUSB扇風機。ちょっと惹かれます。同じ原理のディプレイデバイスが、随分昔にWBSで紹介されていたけど、随分安い商品になったのですね。なんか感慨深い。