ThrottleStopやRealTempなどのユーティリティソフトの開発者であるUncle Webbことケビン・グリン氏が、Windows 10の標準セキュリティツールであるMicrosoft Defenderが原因で、Intel製CPUのパフォーマンスが低下する現象を報告しています。

Microsoft Defender can Significantly Impact Intel CPU Performance, We have the Fix | TechPowerUp

https://www.techpowerup.com/295877/windows-defender-can-significantly-impact-intel-cpu-performance-we-have-the-fix

Microsoft Defender is reportedly hindering performance on Intel CPUs | PC Gamer

https://www.pcgamer.com/windows-defender-is-reportedly-hindering-performance-on-intel-cpus/

グリン氏によれば、CPUに負荷がかかっている時にハードウェア情報解析ソフトの「HWiNFO」をチェックしたところ、Intel製CPUの性能が低下するとのこと。例えば、CPUベンチマークソフトであるCinebenchでパフォーマンスを計測すると、Microsoft Defenderのリアルタイム保護が有効になっているとスコアがおよそ6%低くなったとグリン氏は報告しています。



この時のプロセスを確認すると、Microsoft Defenderのリアルタイム保護有効時に動作する「MsMpEng.exe」がCPU時間の約4%を占有していたことが判明しました。このパフォーマンス低下はWindows 10とWindows 11の両方で、Intel Coreの第8・9・10・11世代で確認されており、AMD製CPUではパフォーマンスの低下がみられなかったそうです。



このパフォーマンス低下が起こる原因は、Microsoft DefenderがIntel Coreプロセッサの提供するハードウェアパフォーマンスカウンターをランダムに使用し始めるからだとのこと。ハードウェアパフォーマンスカウンターとはCPU内で発生したイベントを計測して分析するための機能で、それぞれに対してどの特権レベルで計測するかを設定できます。

HWiNFOやThrottleStopなどのユーティリティソフトは、これらのカウンターを「モード3」または「全リングレベル」に設定します。しかし、Microsoft Defenderはこれらのカウンターを、より優先度の高い「モード2」に設定するため、Microsoft Defenderがバックグラウンドで動作しているとこのハードウェアパフォーマンスカウンターをモード2に変更しようとしたり、停止しようとしたりします。そのため、Microsoft DefenderはCPU時間を過剰に消費してしまい、パフォーマンスを低下させるとのこと。



問題なのは、Microsoft Defenderがいつハードウェアパフォーマンスカウンターにアクセスするのかはランダムであるため、予測ができないという点。また、Microsoft Defenderそのものを無効化してしまえば問題は発生しませんが、Microsoft Defenderを無効化するとシステムが脆弱(ぜいじゃく)になってしまうので、推奨されません。

そこで、グリン氏は自身が開発するThrottleStopのバージョン9.5に、「Microsoft Defender Boost」という機能を実装したと述べています。この機能をチェックすると、Microsoft Defenderによるハードウェアパフォーマンスカウンターの使用を停止させるため、正確にパフォーマンスが測定できるようになるとのことです。