Windows SecurityでFull ScanしたらCPU温度が100℃まで上がった件

久しぶりにデスクトップPCを自作しました。
少しトラブルが発生しましたので、忘れないうちにメモしておきます。

目次

Core i5-11400が100℃になった経緯

デスクトップパソコンを組み立てて、Windows 10を入れて11にアップグレードして、以前のファイルも移行完了しました。
さてウイルススキャンでもしとこうかと、Windows Securityを起動し、Full Scanを実行しました。
すると、1-2分経った頃かな、ケースからファンの大きな音がしてきました。
新しいPCですし、ファンの回転数はどれくらいか気になって、HWMonitorを開いて見てみることにしました。
ファンの回転数よりは先に目に入ったのが赤い文字となったCPUコアの温度でした。なんと複数のコアがずらりと100℃!!!
(少し慌てたためスクリーンショットを撮りませんでした💦)
タスクマネージャーを急いで開いたら、全部のコア/スレッドが使用率100%!
これはやばいと思い、すぐにウイルススキャンを中止したら、CPUの温度も徐々に40℃台に戻りました。 

Windows SecurityでFull ScanしたらTask ManagerでCPU使用率が100%

問題と原因分析

2つの問題

今回の問題は2つに分解できます。

1. Windows SecurityでフルスキャンしたらCPUの使用率が全コアで100%になる

これは新しい問題ではありません。
ググってみたら数年前にも報告されており、今でもWindowsのFeedback Hubで多数報告されています。
マイクロソフトはこの問題を解決する予定があるかどうかは不明です。
そもそも、冷静に考えてみますと、これが問題かどうか自体はあいまいです。
「ソフトウェアはCPUの資源を全部使ってはいけません」 というルールがないはずですし、あるとしても、ユーザーが複数のソフトを同時に使う場面では、CPUの使用率が100%になるシナリオが十分あり得ます。
また、Windows SecurityはCPU使用率に関する設定がない以上、セキュリティに関係するものですので、あまり触らないほうが賢明かもしれません。

2. CPUの使用率が全コアで100%になるとコア温度が100℃になる

上述のように、ユーザーの使い方によってはCPUの使用率が全コアで100%になるシーンは十分ありえます。例えばエンコーディングとか。
使用率が100%になると、CPU温度が上昇するのは当たりまえですが、100℃まで上がるのはやはり何かおかしいと思います。
新しいパソコンですので、組む前からしておくべきことですが、まずハードの特徴を理解することにしました。

パーツの構成

いろいろ調べた結果、今回関係するパーツはCPU、CPUクーラーとマザーボードです。

  • CPU: Core i5-11400
  • CPUクーラー: 付属クーラー(いわゆるリテールクーラー、Stock Cooler)
  • MB: ASUS TUF GAMING B560M-PLUS

CPUの仕様とMBの初期設定が原因

CPUは電力制限が解除されるとTDPを無視してクロックが上がる

i5-11400はTDPが65W、ベース周波数が2.60GHz、ターボ・ブースト周波数が4.4GHzです。
CPUにはPower Limit(電力制限、PL)が2つ設けられています。いわゆるPL1とPL2です。
電力制限がかかった状態では、

  • PL1の電力=常時動作可能な電力
  • PL2の電力=一定時間(数十秒)だけ動作可能な電力、その後PL1に戻る

電力制限を解除すると、常に4.4GHzあたりで約130W前後で動作することが可能になります。
ここで強力なクーラーがないと、100℃の臨界温度に到達するのはごく簡単です。

MBのBIOSの初期設定ではCPUの電力制限が解除されている

ASUS TUF GAMING B560M-PLUSはデフォルトでCPUの電力制限を解除してあります。
具体的に:BIOS設定のAsus Performance Enhancement 2.0Power EnhancementがデフォルトでONになっています。
しかも、PL1=200W、PL2=250Wと自動的に設定されていますので、CPUのブースト周波数4.4GHz@約130Wをはるかに上回ります。
これでCPUの使用率が100%の場合、CPU周波数は常時4.4GHzあたりで動作します!

CPUの使用率が100%でも100℃にならないための対策

基本的な考え方

  1. 過度な熱を発生させない
    1-1. 電力制限をかける
    1-2. CPUの電圧を下げて熱の発生量を減らす
  2. 熱が発生してもすぐに発散できるようにする

すぐにとった対策

BIOS設定でSmart Load LineをONにする

Smart Load Lineは平たく言うと、マザーボードがCPUの「体質」を自動的に分析して、適正な電圧を決めてくれる。つまり上記1-2の電圧を下げる方法です。

ASUS APE 2.0 Smart Load Line BIOS(UEFI)設定

 メリット

  • 性能(周波数)の損失はほぼない
  • 自分で電圧をいじらなくて済む
  • 設定はワンクリックで簡単
  • 出費はない

デメリット

  • 制限あり:ASUSのMBと、11世代の品番にKのついていないCPUだけ対応
  • 設定後の1回目の再起動時には数秒間時間がかかる
  • まだ十分に涼しいとは言いがたい
設定後の効果は絶大です。100℃から80℃前半に温度が下がり、しかも周波数が変わりません! 
Smart Load Line有効時のCPU温度

今後とる予定の対策

CPUクーラーを変える

少し落ち着いたらCPUクーラーを変えたいと思います。
メリット

  • 設定効果のうえ、さらに冷やしてくれる
  • 付属クーラーより静音性能が期待できる

デメリット

  • 変えるのが面倒
  • 出費がある

予備対策

電力制限をかける

Asus Performance Enhancement 2.0自体をOFFにしたり、PLのワット数を下げたりする方法です。
今の設定でしばらく様子見して、予備対策としておいておきたいです。
メリット

  • 結構冷える:自分がした簡単なテストでは60℃台(室温20℃)まで下げられました
  • 出費はない

デメリット

  • 性能は下がる:自分のテストでは約10~15%下がります
  • PL数値を変える場合は適正値を探る必要がある

後書き

久しぶりの自作でこの件以外も結構勉強になりました。
自分は今までOCをしない使い方をしてきましたので、ほとんど知識がありませんでした。
一番びっくりしたのは、今の時代はOCが当たり前のようになっていることです。
CPUもメモリも。
DIYでのOCではなく、メーカーオフィシャルのOCが普通になっていて、設定が難しくないとはいえ、一定の知識が必要だと感じました。
自分はCPUを購入したときは、i5ですし、Kもついてないし、省エネの技術も発達しているし、付属ファンで大丈夫だろうと油断しました。
買い足せばいいことですが、ちょっと2度手間になりましたね。
まあ、これからも勉強しながら楽しく自作していこうと思います。

コメント

このブログの人気の投稿

C# WebView2.ExecuteScriptAsync()のいくつかの使い方とDebug方法

C# 外部ライブラリを使わずに半角→全角カタカナ変換

C# WebView2を通じてWebサーバーなしでJavaScriptからローカルファイルを読み書き