最近、PanasonicのLet’s Note のCF-N10 をWindows10にアップグレードしたのですが、どうも、パソコンの動作がすっごく重たくなって、ひどく待たされることがあり、いろいろと試行錯誤してました。
結果として、処理負荷が高い状態が続いて、CPUの温度が95度になったあと、なぜか、65度の低い状態になった後も、ずっと、CPUクロックが低いままキープされているのが原因でした。
もともとWindows10を推奨されている機種でないため、メーカーからのアップデートは期待できません。
結果的には、「Intel Dynamic Platform and Thermal Framework」をアンインストールすることで、症状が落ち着きました。この記事では私が行った対策の手順と状況を紹介します。
CF-N10にwindows10をインストールして動作が遅くなったと感じたらクロック周波数を確認
「Intel Dynamic Platform and Thermal Framework」ドライバーとは
Intel Dynamic Platform and Thermal Frameworkとは、Intelのプロセッサを動的に制御すして、温度と電力を制御するドライバーです。
CPU保護ではなく、バッテリを長く持たせるためにあるような位置づけですね。このドライバーがなくてもCPUが熱で壊れることはありません。
CF-N10では、この「Intel Dynamic Platform and Thermal Framework」の細かいセッティングができないのですが、機種によっては、Windows10の標準の「電源オプション設定」に「intel Dynamic Platform and Thermal Framework設定」という項目があり、CPUへ供給する電力のリミットを5段階、CPUファンの動作速度の制限を5段階で設定できるものもあるようです。
CF-N10にWindows10にインストールしてから起きた、動作が重い時の症状
次に、CF-N10で起きた症状を説明しますね。
処理負荷が高くなってファンがうるさく回っているときは、CPU頑張ってるなーって思うんですが、動作が遅い問題が発生しているときは、ファンも回らず静かで、しかも、タスクマネージャーでCPU負荷をチェックすると、25%ぐらいしか使ってないのです。
下図がその時の、タスクマネージャーの様子です。25%で処理負荷が張り付いています。それ以上になぜか上がらないです。
HWMonitorでのCPUの内部状態の確認
CPUの状態をもっと詳しく知るために、HWMonitorというツールを使います。
導入方法が知りたい方は、記事「windowsでパソコンの内部状態をモニタ出来るHWMonitorの導入方法」を参照ください。
下図が上のタスクマネージャーでCPU処理負荷25%となっているときの、HWMonitorでのCPU負荷の様子です。
見てわかることは、まず、温度MAXが95℃となっています。おそらくCPU動作温度で守るべき上限温度まで到達したため、クロック周波数を下げる制御が入ったのでしょう。
問題は、現在(Valueの列)、64℃というのに、CPUの動作周波数が798MHzに制限されたままということ。
CPUは4つともほぼ100%の処理負荷なのに、クロック周波数がMAX周波数である3200MHzの4分の1である800MHzのままロックされているのです。
この時、ファンについては、HWMonitorには掲載されていませんが、全然静かで仕事してません。温度的にも65℃ぐらいなので冷やす必要なしの状態でした。
明らかに過剰な保護と思います。
ちなみにこの時、タスクマネージャー側のCPU負荷は25%となっている件ですが、クロック周波数が4分の1で、処理負荷が100%のため、CPUの潜在能力的には、処理負荷率が25%ということで、タスクマネージャーの表示は25%になっていたと思われます。
なので、問題は、温度が低くなったにもかかわらず、クロック周波数の制御が4分の1にキープされてしまっていることと判断しました。
Windows7の時にはこんな問題がなかったことから、ソフトウェアが問題だと思い、電源オプション関連を疑ったのですが、行き着いた先が、CPUの動作制御をおこなうDynamic Platform and Thermal Frameworkでした。
まあ、バッテリ駆動時間を延ばすためには、CPU温度が下がったからといって、高負荷な状態を続けることはできないと判断しているのでしょう。これでは駆動時間が伸びても不便なので、この処理をするドライバーを消してしまいます。
設定を変更できないので、仕方ありません。
「Intel Dynamic Platform and Thermal Framework」ドライバーのアンインストール
スタートメニューのWindowsシステムツールにあるコントロールパネルを起動します。
プログラムの「プログラムのアンインストール」をクリックして開きます。
「Intel Dynamic Platform and Thermal Framework」を選択して「アンインストール」をクリックします。
「次へ」で進みます。
アンインストールが終了したら、「次へ」で進みます。
「完了」をクリックして、終了して再起動します。
再起動後の確認
デバイスマネージャーで確認すると、不明なデバイスができています。
デバイスマネージャーは、スタートメニューを右クリックして「デバイスマネージャー」をクリックして起動することができます。
不明なデバイスが残っているのは気持ち悪いですが、CPUの温度制御はこのままでもされているため、パソコンを壊すことはないです。
ただし、電源接続していないとき高負荷処理を続けていると、バッテリの持ちは悪くなるのは、当然というか、仕方がないことですね。
25%ですべてのCPUの処理負荷が制限されているという事態はなくなってます。下図はたまたま24%ですが、それぞれのCPUで処理負荷にばらつきがあり問題ないです。
HWMonitorで確認しても、クロック周波数はちゃんと処理負荷に応じて動的に制御されています。たまたま平均負荷が25%ですね。
ちなみに、CF-N10のCPUは、実コア数は2つですが、一つのCPUで2スレッド(仕事)を実行することができるため、論理的(OSから見えるCPU数)が4つのCPUとなってます。
補足事項
使用したツールの使い方の記事です。
記事「Windows10でタスクマネージャーを表示する手順」
記事「windowsでパソコンの内部状態をモニタ出来るHWMonitorの導入方法」
CPUの内部温度や動作クロック、その動作クロックでの処理負荷がわかる「HWMonitor」を導入すると今回のようなとき、CPUの状態を詳しく見ることができます。
まとめ
CF-N10でWindows10にアップグレードしたとき、パソコンの動作が重く(=遅く)思える時があります。
原因は、CPUの動作周波数が、温度制限にかかっていないにもかかわらず、1/4に制限されてしまうからでした。
この時、「Dynamic Platform and Thermal Framework」 をアンインストールすることで、不必要なクロック制限を解除することができます。
デバイスマネージャーで見ると不明なデバイスができますが、動作に問題ありません。
当然ですが、バッテリ駆動時間はクロック制御されているときより短くなります。
以上です。
高負荷の作業をしないときは発生していなかったので、絶対に発生するとは限りませんが、Windows10にアップグレードして問題が発生するときは、この記事で紹介した対策を検討してみてください。
コメント
10をインストール以来、原因不明の速度低下で、HWmonitorで見るとCPUが100%になっているのにタスクマネージャーでは25%程度でおかしいなぁと散々悩んでいたので助かりました。