スリープ解除後のCPUの低速化を回避した

古くなったパソコンを今年の夏に買い替えたのですが、使い始めた直後から、原因不明のCPU速度低下に悩まされました。その症状を何とか克服したので、経緯をご紹介します。同じ症状で悩んでいる方がいたら、参考にしてください。

スポンサーリンク

Lenovo V530は爆速 & 静音

購入したのは、Lenovo V530というミニ・タワーのPCです。「価格.com限定モデル」というもので、CPUはAMD Ryzen 5 2400G。4コア・8スレッドのCPUです。それに8GBのメモリーと256GBのSSDを搭載し、キーボードとマウス、1年間の無償引き取り修理が付いて、価格は税込み48,600円でした。

それまで使用していたPCはLenovoのデスクトップ型ですが、8年ほど前のPentium Dual-Coreのモデルで、メモリーは4GB、ディスクはHDDです。

新しいPCが爆速で静音であることに感動しました。8年経つと、世界が変わりますね。

Windows10の初期設定、Windows Update、必要なソフトのセットアップを経て、いざ使い始めたところで、「スリープ解除後のCPUの低速化」という原因不明の不具合症状に悩まされることになりました。

不具合症状:スリープ解除後にCPUが低速化

最初に症状に気づいたのは、離席後しばらくして作業を再開したときです。「あれ? なんだか遅いな…」と感じました。タスクマネージャーでCPUの速度(周波数)を確認したところ、0.54GHzに低速化しているではないですか…。

AMD Ryzen 5 2400Gのベース周波数は3.6GHzなので、タスクマネージャーのCPU速度は、3GHz程度で上下動するのが通常です(下図)。ところが、この値が0.54GHzに固定されていたのです。上下動せず、下限値にピタリと張り付いているような状況でした。

タスクマネージャーでCPUの速度を確認

症状の観察をしばらく続けたところ、

  • 離席中にPCがスリープし、席に戻ってスリープを解除したタイミング
  • 寝る際にPCをスリープし、翌朝にスリープを解除したタイミング

などで、比較的高い確率でこの症状が起こることが分かりました。不具合の症状としては、「スリープ解除後にCPUの周波数が0.54GHzに固定される」という内容になります。

この不具合症状の回避に、1ヶ月近くもかかってしまいました。

症状の調査

不具合症状を自分で調査するも原因が分からず、Lenovoの引き取り修理を依頼しました。

症状の自主調査

まずは、自分で症状の調査をしました。症状の再現性と復帰方法を調べるうちに、次のような傾向が分かってきました。

症状の再現性の確認

スリープの解除には、手動と自動があります。マウスやキーボードの操作による手動のスリープ解除には馴染みがあると思います。一方、OSがWindows10の場合は、所定の時刻になったタイミングや、ネットワークアダプターから信号を受けたタイミングなどでスリープが勝手に解除されることがあります。これが自動でのスリープ解除です。

そこで、手動によるスリープ解除(ケースA)、自動でのスリープ解除(ケースB)の両方で症状の再現性を確認したところ、ケースBの方が高確率で不具合症状を確認できました。

  • (マウスやキーボード操作により)手動でスリープを解除した場合(ケースA
    症状の発生確率は5割程度
  • 自動でスリープが解除された場合(ケースB
    高確率で症状が発生

症状の復帰方法の確認

次に、症状の復帰方法を確認しました。その結果、BIOS(UEFI)を経由して起動しなおすと、復帰する確率が高いことが分かりました。UEFI画面で何かの設定を変える必要はありません。ただ経由するたけで効果がありました。

  • そのまま待つ:復帰しない
  • (スリープ)→(スリープ解除):復帰する確率は低い
    操作:「スタートメニュー」-「電源」-「スリープ」→「マウスやキーボード操作でスリープ解除」
  • 通常の再起動:復帰する確率は5割程度
    操作:「スタートメニュー」-「電源」-「再起動」
  • BIOS(UEFI)を経由した再起動:復帰する確率は高い
    操作:「スタートメニュー」-「設定」-「更新とセキュリティ」-「回復」-「今すぐ再起動」-「トラブルシューティング」-「詳細オプション」-「UEFIファームウェアの設定」-「再起動」

その他に確認したことや試したこと

  • Lenovo Vantageというプリインストール・ツールで、ドライバーを最新化
    →症状は解消せず
  • Lenovo Vantageで、ハードウェア・スキャンを実行
    →エラーは確認できず
  • CPU温度の確認
    →「Core Temp」をインストールして確認したところ、正常範囲
  • PCを初期化(個人用ファイルをすべて削除)し、Windows Updateをした状態で再確認
    →症状が発生
  • ネットで情報収集
    →同一症状で悩んでいる記事を数本発見。メジャーな症状ではなさそう。

Lenovoに調査依頼するも、症状を確認できず

自分では打つ手がなくなったので、「1年間の無償引き取り修理」を利用して、Lenovoに引き取り修理を依頼しました。対応期間は約2週間でしたが、残念ながら症状自体を確認することができませんでした。

Lenovoのリペアセンターによる診断結果は次のとおりです。

  • 「ケースA」:スリープを手動で解除した後の動作
    動作テストを行ったが、不具合症状を確認できず
  • 「ケースB」:スリープが自動で解除された後の動作
    スリープの自動解除自体が発生せず、症状を確認できず

引き取り修理を依頼した甲斐がありませんでしたが、ハードウェアの問題がないことは確認してくれたようなので、原因が「当方の設置環境の問題」「ソフトウェア設定の問題」に絞られたという意味では進展がありました。

まずは、電源タップを交換

Lenovo側の調査中に、コールセンターから「まだ症状を確認できていないので、お客様の設置環境について確認させてほしい」との連絡があり、2, 3の質問を受けました。その中に「電源タップを使っているか?」という質問がありました。

Lenovoの調査環境では、安定した電源供給下で確認作業ができるように電源タップは使用しないそうです。我が家では6口の古い電源タップを使用していたので、「これかも?」と思い、電源タップを新品のものに交換しました。

期待しながら、リペアセンターから戻ってきたPCの動作を確認したところ、残念ながら症状が発生。まぁ、そうだよね…。残る原因は、「ソフトウェア設定の問題」になりました。

これで症状を回避:スリープの自動解除の無効化

症状の直接原因に関する考察

まず、「症状の直接的な原因は、スリープの自動解除にある」という仮説を立てました。これは、ケースBの「スリープの自動解除時に症状が高確率で起きる」ことと符合します。「高確率」というのは感覚的なもので、実際には100%なのかも知れません。

一方、ケースAの「スリープの手動解除時にも5割程度の確率で症状が起こる」のは何故か? という疑問が残りますが、スリープ中に「スリープの自動解除→スリープ」という状態遷移があったとすれば説明が付きます。スリープの「自動解除」時に症状が発生し、それが「手動解除」時に顕在化したと考えられます。

以上の考察から、スリープの自動解除を無効化することにしました。

スリープの自動解除の無効化

次の4つの設定を行いました。

電源オプションを「高パフォーマンス」にする

「スタートメニュー 右クリック」-「電源オプション」-「電源の追加設定」の順に操作し、「電源オプション」画面を開き、プランを「高パフォーマンス」にします。これにより、勝手にスリープ状態に入ることがなくなるので、「スリープの自動解除」機会の抑制になります。いわば、予防的な措置です。

「電源オプション」画面

スリープ解除タイマーを「無効」にする

上記に続けて、「プラン設定の変更」-「詳細な電源設定の変更」の順に操作し、「電源オプション」ダイアログを開き、「スリープ」-「スリープ解除タイマーの許可」を「無効」にします。

「電源オプション」ダイアログ

これにより、所定の時刻になるとスリープが自動的に解除されることがなくなります。

スケジュールされたメンテナンスによるコンピューターのスリープ解除を許可しない

「スタートメニュー」-「Windowsシステムツール」-「コントロールパネル」-「システムとセキュリティ」-「セキュリティとメンテナンス」-「メンテナンス」-「メンテナンス設定の変更」の順に操作し、「自動メンテナンス」画面を開き、「スケジュールされたメンテナンスによるコンピューターのスリープ解除を許可する」のチェックを外します。

「自動メンテナンス」画面

これにより、所定のメンテナンス時刻になるとスリープが勝手に解除されることがなくなります。

ネットワークアダプターによるスタンバイ解除を許可しない

「スタートメニュー 右クリック」-「デバイスマネージャー」-「ネットワークアダプター」-「(一覧からネットワークアダプターを選んで)右クリック」-「プロパティ」の順に操作し、「ネットワークアダプターのプロパティ」ダイアログを開き、「電源の管理」タブの「このデバイスで、コンピューターのスタンバイ状態を解除できるようにする」のチェックを外します。

「ネットワークアダプターのプロパティ」ダイアログ

これにより、ネットワークアダプターから何らかの信号を受けて、スリープが勝手に解除されることがなくなります。

不具合症状がなくなった

以上の設定をしたところ、不具合症状が出なくなりました。設定してから1ヶ月以上経過しましたが、一度も不具合症状が起きていません。「スリープの自動解除」を抑制したことが功を奏したようです。

なお、そもそも「スリープの自動解除により、なぜCPUが低速化するのか?」という根本原因については、全く分かりません。

最後に

いかがでしたでしょうか? 「スリープ解除後にCPUの周波数が0.54GHzに固定される」という不具合症状をどうやら克服できたようです。根本原因が解消したのではなく、症状が出ないように設定で回避している状況ですが、作業に支障はありません。

最新のPC性能をフル活用して、とても快適に作業できるようになりました。

同じ症状で悩まれている方がいたら、参考にしてください。それとも、私だけ?

スポンサーリンク