情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

【Windows 10】ノートPCのCPUクロック周波数が上がらない/何をするにも動作が遅い・重い場合の対策についての調査メモ(0.38GHzまでしか上がらない問題・未解決)

ThinkPad (28) ThinkPad X270 (6) Windows (431) Windows 10 (193) lenovo (4)

ThinkPad X270を購入して以来、ものすごくPC全体の動作が重く、何をするにも待たされる状態になってしまい、困っていました。

あまりに動作が遅く、工場出荷時に一度戻してみても改善されなかったため、その後ドライバの問題ではないかと思ったままドライバのアップデートを待ったりしつつそのままにしていたのですが(前回の記事)、改めて確認してみるとどうもCPUが異常なほど低速(0.38GHz)になったまま回復しなくなる症状がある、ということが分かってきました。

その後試した対策などについて紹介します。少し回復したようにも見えたのですが、結局低速状態に戻ってしまうため、最終的にこの問題は未解決の状態です。

※この問題は、今年の初めに試行錯誤した後未解決のままだったのですが、どんなことを試してみたのかが参考になるかと思うので公開しておきます。なお、最終的に「省電力機能が過剰に働いているのが原因ではないか」となったものの解除/設定変更ができずに未解決、といったような状況だったのですが、今回はLenovo ThinkPadでうまく行かなかったものの、他のメーカーのPCであれば独自の省電力機能の制御方法があったりして、同じような症状でも解決できたりしたのかな、と思うので、メーカーごとに違いには注意してみてください。

ThinkPad全体の動作が遅い

Windows 10がインストールされているThinkPad X270の動作が非常に遅く、何を行うにも待たされる状態が続いていました。

例えばエクスプローラーを開いてファイルを閲覧しているだけでも、クリックしてから反応するまでのタイムラグが大きく、まともに操作することができませんでした。

そしてすぐに「応答なし」になってしまい、PC全体の低速な動作を待たされてばかりの状態でした。

  • 起動時、画面が暗いまま長時間待たされる
  • 指紋認証の結果が表示されるまで長い時間待たされる
  • ウィンドウが開いてから、中身が真っ白のままなかなか描画されない
  • ログインが遅く、「資格情報を認識できませんでした」エラーなどがでる(しかしその後追加で指紋認証せずともログインできる)

一度は「ハードウェアの故障かドライバの問題かな?」などと早々と諦めていたのですが、その後よくよく動作を見てみると、最大2.80GHzで動作するはずのCPU(Intel Core i7-7600U)が最大0.38GHzでしか動作せず、それに伴ってCPU使用率がずっと13%までしか上がらず、CPUに何らかの速度制限(スロットリング)が行われているではないかと気が付きました。

どうやらこのような、「0.38GHzまでしか上がらない」「0.48GHz」までしか上がらない、といったことは他のThinkPadユーザー(X270に限らず、Yogaなどでも)にも発生しているようで、自分もそれに類似した症状が出てしまっているようでした。

バッテリーを外して再起動ではダメ

調べてみると、6セルバッテリー時に似たような症状が発生しているとの情報を見つけることができ、ちょうど大容量の6セルバッテリーを取り付けて利用していたため「これはもしや」と思いバッテリーをより容量の小さい別のバッテリーに交換した上で再起動してみました。

しかし動作は改善されず、引き続きCPUクロック周波数が0.38GHzまでしか上がらない状態でした。

BIOS設定を変更してみる(1)

そこで改めて再起動を行い、BIOSの設定から「Config>Power>Intel (R) SpeedStep technology」を「Enabled→Disabled」として設定を保存して再起動を行ってみました。

しかしそれでもCPU使用率が上がらないままでした。

そこで一度シャットダウンした上で、もう一度電源を入れなおしてみました。しかし改善されず。

BIOS設定を変更してみる(2)

続いて、「Adaptive Thermal Management」の設定を変更してみようかと思ったのですが、既に「Maximize Performance」になっており問題がなさそうだったので、「CPU Power Management」を「Disabled→Enabled」にして再起動してみました。)。

しかしこちらも効果はありませんでした。

「デバイスマネージャー」からドライバを更新する

「デバイスマネージャー」を起動して「ファームウェア>システムファームウェア」を右クリックして、「ドライバーの更新」を選択し、「ドライバーソフトウェアの最新版を自動検索」を選択してみました。

すると、

ドライバの更新 - ThinkPad X270 System Firmware 1.37

ドライバーが正常に更新されました

このデバイス用のドライバーがインストールされました

ThinkPad X270 SYstem Firmware 1.37

このコンピューターを再起動するまで、インストールしたハードウェアは正しく動作しません。

が表示されて、どうやら更新が行われたようです。再起動が必要とのことなので、案内に従って再起動を行ってみました。

すると、「Lenovo システムの更新プログラムのインストールが完了するまで、しばらくお待ちください」が表示されたので、そのまま待ちました。

しかしこれでも改善されませんでした。

BIOS設定を変更してみる(3)

次に、再びBIOSに入り、「Security>Virtualization」を開いて「Intel (R) Virtualization Technology」および「Intel (R) VT-d Feature」を「Disabled」から「Enabled」に変更しました。しかし効果なし(これを提案している書き込みがあったものの)。

BIOS設定を変更してみる(4)

改めて「Config>Power」を開き、「Adaptive Thermal Management Scheme for Battery」を「Balanced」から「Maximize Performance」へと変更しました。

しかし、何度かシャットダウンして起動して、を繰り返すなど迄してみても改善されず。

スリープにしてから復帰 → 高速動作に

ここまでCPUのクロック周波数が0.38GHzまでしか上がらない問題が続いている中、たまたま一度「Windowsキー(スタートボタン)>電源>スリープ」をクリックしてスリープにしてから、もう一度開き直してみると、0.38GHzを越えて、2.80GHz~3.72GHzくらいまで簡単に上昇してくれるようになり(変化し続ける)、CPU使用率が13%を越えるようになりました。

バッテリー駆動にすると…

ここで、そのまま電源ケーブルを抜いて、バッテリー駆動にしてみました。

すると、内蔵のファンが停止するとともに、0.38GHzに戻ってしまいました

しかしその後しばらく観察してみると、0.44GHz~0.72GHzあたりまで一瞬戻ることもあったのですが(それでも低速)、その後結局負荷をかけてみても0.38GHz以上になってくれない状態に逆戻りしてしまいました。

この時点で電源ケーブルが抜けて給電されていない状態でしたが、そこで改めて電源ケーブルを接続してみても、先ほどのように0.38GHzを越える動作には戻ってくれなくなってしまいました。

つまり、スリープに入って復帰した直後だけうまく動作してくれるものの、電源ケーブルを一度でも抜いてしまうと低速状態に逆戻りしてしまう状態です。

もう一度スリープにする

ここで改めてスリープ状態にしてからもう一度起動し直してみました。しかし、やはり高速な状態には戻ってくれませんでした。

「シャットダウン→起動→再起動→スリープ」など、いろいろな手順を試してみたのですが、元に戻る現象は再現できず。

このように意図せず2回、スリープからの復帰時に直っているケースがあったのですが、意図的に再現することはできませんでした

その後発見したのですが、同様の挙動への言及を見つけることができました:

What misled me was that when I put the PC to sleep and woke it up again it was fixed. This was actually caused by the fact, that the brief sleep allowed the battery to charge above the critical treshold.

引用元

電源オプションの設定変更

電源オプションの詳細設定にある「プロセッサの電源管理」で、「最小のプロセッサの状態」を「バッテリ駆動/電源に接続」どちらも「5%」だったのを「100%」に設定し、システムの冷却ポリシーも両方ともに「アクティブ」に設定しました。

これにより、プロセッサの状態が最小も最大も100%となったため、表記上はCPUを常時100%で動作させるような設定となります。

この設定を「適用」したところ、高速で動作するようになりました

しかし、電源ケーブルを抜いてしまうと、0.38GHzに戻されてしまいます。ただし、0.38GHzを越える場合もあり、以前のような完全に常時0.38GHz固定だった状態に比べれば動作にも改善が見られます。

いろいろ試した後、一度「既定のプランの復元」ボタンを利用して電源オプションをリセットしてみた(最小のプロセッサの状態も5%に戻る)のですが、この操作を行っても、電源さえ挿していれば高速に動作する状態(CPUクロック周波数が高い状態)が継続しました。

どうやら、「スリープからの復帰」もそうでしたが、今回は「最小のプロセッサの設定変更」など「きっかけ」を与えてあげると、高速で動作する状態に戻ることができるようです。

しかしその後、電源オプションを変更していたところ、結局また0.38GHzのまま変わらなくなってしまいました。

BIOS設定を変更してみる(5)

Intel (R) SpeedStep technologyをEnabledに戻し、Mode for Batteryを「Maximum Performance」に切り替えました。しかし効果なし。

インテリジェント・クーリングの設定をオフにする

Lenovo VANTAGEを起動して、メニューから「デバイス設定」を開きました。

そしてインテリジェントクーリングの設定を確認してみたものの、既にOFFになっていました。なのでそのままに。

Lenovo VANTAGEからシステムのアップデートをインストールする

できるだけLenovo VANTAGEからのシステムアップデートを行わずに問題を解消したかったのですが、速度が正常に戻ったり低速になったりを繰り返す状況で、いつまで経っても安定した解消に到達しないため、システムアップデートも行ってみることとしました。

Lenovo VANTAGEでシステムアップデートを確認すると、以下が利用できる更新として表示されました。

重要な更新がこちら:

  • Intel HD Graphics Driver (Windows 10 Version 1709 or Later) - 10 [64] 製造メーカー:Lenovo、バージョン:26.20.100.7263、インストール済みバージョン:21.20.16.4639
  • Lenovo NVMe Solid State Drive Firmware Update Utility - 10 [64] 製造メーカー:Lenovo、バージョン:36、インストール済みバージョン:利用できません
  • Intel Management Engine Firmware - 7 [32,64]/8.1/10 [64] 製造メーカー:Lenovo、バージョン:11.8.70.3626、インストール済みバージョン:利用できません

推奨更新がこちら:

  • Intel PRO/1000 LAN Adapter Software - 10 [64] 製造メーカー:Lenovo、バージョン:12.17.10.7、インストール済みバージョン:12.15.25.6
  • Lenovo Power Management Driver - 10 [64] 製造メーカー:Lenovo、バージョン:1.67.17.48、インストール済みバージョン:1.67.13.12
  • ThinkPad Hotkey Features Integration Package Setup - 10 [64] 製造メーカー:Lenovo、バージョン:9.1.0.3、インストール済みバージョン:9.0.0.7
  • Integrated Camera Driver For Sunplus (Windows 10 Build 1709 and Later) - 10 [64] 製造メーカー:Lenovo、バージョン:5.0.18.28、インストール済みバージョン:3.5.7.5901
  • Intel(R) Management Engine Interface - 10 [64] 製造メーカー:Lenovo、バージョン:1932.12.0.1298、インストール済みバージョン:利用できません
  • TI USB Type-C/Power Delivery Controller Driver - 10 [64] 製造メーカー:Lenovo、バージョン:1.0.4.12、インストール済みバージョン:1.0.4.3
  • ThinkPad Monitor File - 10 [64] 製造メーカー:Lenovo、バージョン:6.9.1.0、インストール済みバージョン:6.3.0.0
  • Intel(R) Serial IO Driver - 10 [64] 製造メーカー:Lenovo、バージョン:30.100.1823.1、インストール済みバージョン:30.100.1816.3

任意の更新がこちら:

  • Lenovo Active Protection System / Intelligent Cooling - 10 [64] 製造メーカー:Lenovo、バージョン:1.82.0.20、インストール済みバージョン:未インストール

特に気になる「Lenovo Power Management Driver」ですが、今回バージョンアップすると適用されるアップデート内容の中で気になるのは1.67.14.05のアップデートの「(New) Update Intelligent Cooling Feature.」くらいで、その他のアップデートはほとんど新製品への対応アップデートに過ぎず、あまり期待できない様子でした。

ただこのアップデート内容を確認している最中にCPUの速度が改善され、また様子を見てみたくなりました。

しかし、やはりACアダプタを抜いてしまうと0.38GHzに戻ってしまいました。

ただし、1.5GHzくらいまで上昇することもあり、再度ACアダプタを接続すれば再びCPUの速度は回復し、これまでの中ではかなり良い状態です。

ただその後動画を再生してみていたときまた0.38GHzに戻ってしまい、電源を接続していても0.38GHzのまま戻らなくなってしまいました。

そしてこのときよく観察してみると、GPU使用率が上がるとCPUクロック周波数が0.38GHzになってしまい、GPU使用率が低いとき、CPUクロック周波数が高速な状態に戻る、という挙動が分かりました。逆に言えば、GPU使用率が低い限りは高速の状態になっており、やはり良い状態でした。

GPUを低消費電力にする

そこで、GPU使用率を下げる(GPUを低速にして消費電力を抑える)ことで、自分のユースケースに合わせたバランスにできないか、と考えてみることにしました。

デスクトップを右クリックして「インテル グラフィックスの設定」を開き、「電源」設定にある「パネル・セルフリフレッシュ」「ディスプレイ省電テクノロジー」「省電力強化モード」をすべて有効にしつつ、「ディスプレイ省電テクノロジー」の設定で「最長バッテリー駆動時間」側に倒し、「適用」をクリックしました。

さらに電源の詳細設定で、「Intel(R) Graphics Settings>Intel(R) Graphics Power Plan」で「Maximium Battery Life」を選択し「適用」をクリックしました。

しかし、動画再生を開始してしばらくしてGPU使用率が上昇し、それ以降CPUクロック周波数が0.38GHzに張り付いてしまう、という動きに特に変化は見られませんでした。

パフォーマンスオプションの視覚効果を変更する

描画処理を抑えてみるために、「パフォーマンスオプション」の「視覚効果」タブで「パフォーマンスを優先する」を選択してみましたが、特に挙動は改善されず、0.38GHzにすぐ低下してしまう状態に変わりありませんでした。

こちらについてはあまりに使い心地が低下するため、視覚効果はすぐに元に戻しました(「コンピューターに応じて最適なものを自動的に選択する」)。

システムアップデートを行う(1)

いろいろな手段を試してみて改善されなかったので、遂にシステムアップデートを進めてみることにしました。

まず「Intel HD Graphics Driver (Windows 10 Version 1709 or Later) - 10 [64]」をインストールしてみましたが、特に改善はなし。

次に「Lenovo Power Management Driver - 10 [64]」をインストールしましたが、こちらも特に改善はなし。

続けて「Lenovo Active Protection System / Intelligent Cooling - 10 [64]」もインストールしてみました。しかし0.38GHz状態に変わりはありませんでした。

インテリジェント・クーリングの設定を再確認

ここで電源まわりのドライバをインストールしたので改めて「Lenovo Vantage」の「デバイス設定」を開いてみたところ、「電源スマート設定」にある「インテリジェント・クーリング」が「ON」になっていたので、「OFF」に変更しました。

システムアップデートを行う(2)

ここでまたシステムアップデートに戻ってみると、「Lenovo Active Protection System / Intelligent Cooling - 10 [64]」のインストール成功履歴があるにもかかわらず「Lenovo Active Protection System / Intelligent Cooling - 10 [64]」が任意の更新に表示されており、「インストール済みバージョン:未インストール」となっていました。

そして、「Realtek High Definition Audio Driver - 10 [64] 製造メーカ-:Lenovo、バージョン:6.0.8777.1、インストール済みバージョン:6.0.1.8551」が新しく重要な更新に追加されていました。

それを確認した後、重要な更新3つをまとめてアップデートしました(「Realtek High Definition Audio Driver - 10 [64]」「Intel HD Graphics Driver (Windows 10 Version 1709 or Later) - 10 [64]」「Lenovo NVMe Solid State Drive Firmware Update Utility - 10 [64]」)。

アップデート途中、「Intel Management Engine FW Update Utility」が表示されましたが、「Next」→「Next」→「Yes」とクリックすることで、cmd.exeの画面がしばらく表示された後に自動的に再起動され、インストールを完了することができました。

しかしそれでもこれといった効果がなかったため、最後に残りのシステムアップデート8件をまとめてアップデートしました。

イベントビューアーを確認

クラッシュなどならともかく、こういった低速化への対処に関してあまり意識していなかったイベントビューアーなのですが、一応イベントビューアーの確認をしてみたところ、次のようなイベントが記録されており、これがクロック周波数を0.38GHzにされた際のログのようでした。

レベル:警告
ソース:Kernel-Processor-Power (Microsoft-Windows-Kernel-Processor-Power
イベントID:37
グループ 0 のプロセッサ 0 のスピードはシステムファームウェアによって制限されます。プロセッサは、最後のレポート後 71 秒間このパフォーマンスが制限された状態にあります。

このエラーについては次のページにも登場しており、英語の場合は次のようなメッセージで表示されるようです:

The speed of processor 0 in group 0 is being limited by system firmware. The processor has been in this reduced performance state for 61 seconds since the last report.

引用元

サービスを停止してみる

msconfigを起動して、「サービス」にあった「Lenovo PM Service」を無効化した上でWindowsを再起動してみました(※注意:今までの作業と比較してかなり危険な作業なので、真似してみる場合は、より一層自己責任でお願いします)。

しかし特に改善は見られず。

また、Microsoft以外のサービスをすべて無効にしてみても特に改善せず。

BIOSアップデートをしてみる

Lenovoのサポートページにアクセスして、手動アップデート可能なBIOSアップデートを探してみると、「r0iuj30ww.exe」が見つかりましたが、これは「R0IET59W(バージョン1.37)」で、現在インストールされているBIOSと同じバージョン(最新版)でした。

未解決

そんなこんなでなかなか解決できないままの状態です。

今見返してみると「もっとこれも試してみれば良いのに」というのが思い浮かんだりするので、また気が向いたとき、時間が取れそうなときに何かしら試してみようかと思います。

参考

関連記事

コメント(0)

新しいコメントを投稿