Windowsを使用している最中に突然動作が遅くなり、PCのファンが勢いよく回り出すというような経験をした人は多いだろう。そのような時は、まずキーボードで[Ctrl]キーと[Shift]キーと[Esc]キーを同時に押して「タスクマネージャ」を立ち上げて、CPUやメモリなどのリソースの使用率を確認するだろう。そこで、CPUの使用率が100%になったまま一向に下がらないことを確認した。さて、どうすればこの状態を解消できるのだろうか。
とりあえずPCを再起動してみるという手もあるが、再起動する前にまだできることはある。maketechesier.comの記事「100% CPU Usage in Windows 10? Here's How to Fix it - Make Tech Easier」をもとに、Windows 10においてCPU使用率が100%になった場合に取るべき対処方法を紹介しよう。
WMIのプロセスを確認する
Windows 10のコアサービスのひとつにWMI(Windows Management Instrumentation)がある。WMIはWindowsシステムを管理するためのシステムインタフェースで、システムの状態の取得や各種パラメーターの設定など、OSに関するさまざまな制御タスクを実行する。重要なサービスなので安易に無効化することはお勧めできないが、時折このプロセスがCPUリソースを占有してしまうことがあるため、もしCPU使用率上昇の原因がWMIである場合は、WMIサービスを再起動することで問題を解決できるかもしれない。
そこで、タスクマネージャーの「プロセス」タブで「サービスホスト: Windows Management Instrumentation」を探して、そのCPU使用率を調べよう。
上の図では特に問題は発生していないが、もしこのプロセスのCPU使用率が100%に近い数値のまま下がらない場合は、WMIサービスの再起動を試してみるといいだろう。
Windowsサービスの管理は「サービス」アプリを使用して行う。サービスアプリは、スタートメニューのアプリ一覧の、「Windows 管理ツール」フォルダにある。サービスアプリを立ち上げたら、サービス一覧から「Windows Management Instrumentation」を探し、右クリックメニューで[再起動]をクリックすれば、サービスの再起動が行われる。
もしサービスを再起動しても現象が改善しない場合、イベントログを確認することでもう少しく原因を探すことができるかもしれない。イベントログの確認には「イベントビューアー」アプリを使用する。イベントビューアーアプリは、サービスアプリと同様にスタートメニューのWindows 管理ツールフォルダに含まれている。
イベントビューアーを起動したら、まずは左のツリーから[アプリケーションとサービスログ]→[Microsoft]→[Microsoft]→[Windows]→[WMI-Activity]とたどって、[Operational]を選択する。すると中央の「Operational」のウィンドウにWMIサービスが処理しているすべてのプロセスが表示される。ラベルが「エラー」となっているプロセスは、なんらかのエラーが発生していることを表している。次に、エラーのプロセスを選択して、下のウィンドウの「全般」タブの表示から、「クライアント プロセス ID」の番号を確認する。これが、エラーが発生しているプロセスIDになる。
プロセスIDがわかったらタスクマネージャーに戻って、「詳細」タブの「PID」の項目で該当するプロセスを探そう。そのプロセスがCPU使用率上昇の原因だった場合、右クリックメニューで[ファイルの場所を開く]をクリックすれば、エクスプローラーで該当するプロセスを起動したプログラムのフォルダが表示される。原因のプログラムが特定できるため、そのプログラムの無効化やアップデート、再インストールなどといった次のアクションを考えることができる。
SysMainサービスを無効にする
次に取るべき手段として提案されているのが「SysMain」サービスの無効化だ。SysMainサービスは以前は「Superfetch」という名前で提供されており、maketecheasier.comでもSuperfetchとして説明している。SysMainは、頻繁に使用されるアプリをWindowsが学習し、メモリに事前にロードしておくことで起動を高速化するサービスである。SysMainは有用なサービスだが、古いデバイスではたまに問題が発生し、CPUリソースを無駄に消費してしまうことが知られている。
まずは、WMIの場合と同様にSysMainサービスのCPU使用率をタスクマネージャーで確認しよう。もし「サービス ホスト: SysMain」のプロセスのCPU使用率が高い場合は、右クリックメニューの[タスクの停止]をクリックしてプロセスを終了させることで、状況が改善するかもしれない。
PCを再起動してもSysMainサービスが無効化されたままにしておきたい場合は、次のようにサービスアプリで「SysMain」を探し、右クリックメニューで[プロパティ]を選択する。
そして、プロパティウィンドウの「スタートアップの種類」の項目を[無効]に設定しておけばよい。
ちなみに、WMIやSysMain以外のWindowsサービスがCPU使用率上昇の原因だった場合でも、同様の手順で原因を特定して対処することができる。ただし、中にはWindowsが正常動作するために不可欠なサービスもあるので、無効化する際は注意が必要だ。
電源オプションを「バランス」に設定する
そのほか、CPU使用率100%を解消する手段として、電源オプションを「バランス」に設定することが挙げられている。電源オプションを「高性能」に設定している場合は、古いデバイスなどではCPUが過負荷状態になる可能性があるという。特に、プラン設定を独自に変更している場合にはそれが起こりやすいとされている。
電源オプションは「コントロールパネル」で設定できる。コントロールパネルは、スタートメニューのアプリ一覧の「Windows システムツール」フォルダの中にある。コントロールパネルを開いたら、「表示方法」を[大きいアイコン]または[小さいアイコン]に変更し、[電源オプション]のアイコンをクリックすれば、電源オプションの設定が変更できる。
ここで、次のように[バランス (推奨)]に設定すればよい。さらに、「プラン設定の変更」でプラン設定をデフォルト値に直しておくと確実だという。
電源の故障を確認する
ソフトウェアの問題ではなく、電源装置の故障が原因でCPUが過負荷状態に陥るケースも考えられる。電圧が不足している場合、CPUはその性能の一部しか発揮することができないため、結果的にCPUパワーが足りなくなって使用率が上昇してしまうというわけだ。
ノートPCの場合、電源ケーブルを抜いてバッテリー駆動にした上で、タスクバーの電源ボタンをクリックして電源モードを「最も高いパフォーマンス」に設定する。もしバッテリーに問題がなく、電源装置に問題がある場合は、この設定でCPU使用率が正常に戻る可能性があるという。
デスクトップPCで電源装置の故障を確認したい場合は、本体のケースを開けて物理的に電源装置を交換してテストするなどの処置が必要になる。
サードパーティ製のウイルス対策ソフトウェアを無効にする
サードパーティ製のウィルス対策ソフトウェアがCPUに高い負荷をかけているケースもある。一般的に、ウィルスのフルスキャンが実施されている最中はCPU使用率が上昇するので、その場合は通常の作業に影響しないようにスキャンのスケジュールの見直しを行おう。
もし、ウイルス対策ソフトウェアによってCPUが過負荷状態になったまま長時間元に戻らない場合は、思い切ってウイルス対策ソフトウェアを無効にして確認してみることもできる。WindowsにはデフォルトでWindows Defenderが用意されているので、Windows Defenderを有効にしておけば、サードパーティ製のウイルス対策ソフトウェアを無効にしてもセキュリティ上の心配はほぼない。もし、使用しているウイルス対策ソフトウェアがCPU過負荷の原因だと判明した場合は、使用を中止してWindows Defenderや他のソフトウェアへの移行を検討するのがいいだろう。
まとめ
CPU使用率が高いと、PCの動作が遅くなるだけでなく、CPU温度が著しく高温になる可能性がある。日常的にCPU温度が高い状態が続くと、CPUの寿命が短くなりやすいことが知られている。PCを長持ちさせるためにも、CPUの負荷状態には気を配り、もし不自然に高い使用率になっている場合には上記を参考にして対処するといいだろう。