ゲーム中に Antimalware Service Executable が CPU を使う
Antimalware Service Executable は、動作中の Microsoft Defender ウイルス対策そのものです。プレイ中に何がそれを起こすのか、スキャンした内容を記録する方法、そして定期スキャンをプレイしていない時間に移す方法を説明します。
ゲームがカクつき、タスク マネージャーを開くと、CPU 列の上位に Antimalware Service Executable があります。名前は物々しく聞こえますが、これは Microsoft Defender ウイルス対策そのものです: Microsoft の Defender のパフォーマンスのトラブルシューティング ページは、冒頭でこれを「Anti-malware Service Executable、MsMpEng.exe、Microsoft Defender ウイルス対策」と呼んでいます。その CPU 時間は特定の処理から来ており、どの処理だったかによって、取れる対処が決まります。
これを起こす 3 つの処理
- リアルタイム保護。 Microsoft のスケジュール スキャンのページによると、「ファイルが開かれたときと閉じられたとき、そしてユーザーがフォルダーに移動するたびにファイルを確認します」。ゲームやパッチのインストールも、ゲームがシェーダー キャッシュをディスクに書き込むことも、すべてファイルを開いて閉じる操作です。トラブルシューティング ページは、デジタル署名されていないプログラム ファイルを起動するとリアルタイム保護のスキャンが始まることも付け加えています。
- 定期スキャン。 「常時オンのリアルタイム保護に加えて」実行されます。毎日の定期スキャンはクイック スキャンしか設定できません。毎週のものはクイックかフルを選べ、フル スキャンは「完了までに数時間から数日かかる場合があります」。
- 更新後のスキャン。 「既定では、Microsoft Defender ウイルス対策はセキュリティ インテリジェンスの更新後にスキャンします」。トラブルシューティング ページは、これがスキャンが「スケジュール外に実行された」ように見えることがあると警告しています。
定期スキャンは既定でアイドル状態を待ちます: PowerShell のリファレンスによると、「コンピューターの電源が入っていても使われていないとき」に実行されます。アイドルの数値は Microsoft のページによって異なり、トラブルシューティング ページでは全体の CPU 使用率が「80% 未満」、PowerShell のリファレンスでは「CPU 使用率 90% 未満」です。アイドル状態の PC で定期スキャンが始まると、既定の設定ではその速度は制限されません: 平均 CPU 50% の目安は、Microsoft によると「厳密な上限ではなく」、それらのスキャンには適用されません。
まず何をスキャンしているかを記録する
パフォーマンス アナライザーは Defender のスキャンを記録し、どのファイル、ファイル拡張子、プロセスが最もスキャン時間を使ったかを報告します。Windows 10 または 11、Defender のプラットフォーム バージョン 4.18.2108.7 以降、そして管理者として開いた PowerShell が必要です。記録を開始します (-RecordTo には完全なパスを指定します):
New-MpPerformanceRecording -RecordTo "$env:USERPROFILE\Defender-scans.etl"
ウィンドウを開いたまま、カクつきが再び起きるまでプレイします。Microsoft の指示は、記録中にその状況を再現することです。その後、ウィンドウで Enter を押して停止して保存し、レポートを読みます:
Get-MpPerformanceReport -Path "$env:USERPROFILE\Defender-scans.etl" -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10
スキャンの回数と時間、パス、プロセス、各スキャンの理由が一覧表示されます: 「Defender が CPU を使っている」ではなく、ファイル、プロセス、原因がわかります。リファレンスは注意書きを添えています: このツールは「除外の提案を行うことを目的としていません。除外はエンドポイントの保護レベルを下げる可能性があります。」
定期スキャンをプレイしていない時間に移す
タイミングやレポートが定期スキャンを指している場合は、その実行時刻を設定します。PowerShell のリファレンスは、「デバイスの電源が入っている可能性が高く、デバイスでの操作は最小限である可能性が高い」昼休みに毎日クイック スキャンを行う例を挙げています。管理者の PowerShell ウィンドウで:
Set-MpPreference -ScanScheduleQuickScanTime 12:30:00 -ScanScheduleOffset 0 -RandomizeScheduleTaskTimes $false -ScanOnlyIfIdleEnabled $false
そのページによる各部分の意味:
-ScanScheduleQuickScanTime 12:30:00は毎日のクイック スキャンのローカル時刻で、hh:mm:ssの形式です。PC の電源が普段入っていて、プレイしていない時刻を選んでください: 既定では、実行できなかったクイック スキャンは後で補われません。-ScanScheduleOffset 0は、設定した時刻から既定で 120 分遅れる設定を取り除きます。-RandomizeScheduleTaskTimes $falseは、前後 30 分の範囲のどこかではなく、時刻どおりにスキャンを開始します。-ScanOnlyIfIdleEnabled $falseは、PC の使用中でもその時刻にスキャンを実行させます。このとき 50% の目安が再び適用されます。アイドル状態を待つ動作を残すには、この部分を省きます。
定期スキャンに低い CPU 優先度を求めることもできます。トラブルシューティング ページによると、これはスキャンのスレッド優先度を 9 から 8 に下げ、「ほかのアプリケーションのスレッドがより高い優先度で実行できるようにします」:
Set-MpPreference -EnableLowCpuPriority $true
どれもリアルタイム保護には触れません。定期スキャンがいつ、どのように実行されるかを決めるだけです。
除外 (Microsoft の警告付き)
Windows セキュリティでは、ファイル、フォルダー、ファイルの種類、プロセスを除外できます: Windows セキュリティ > ウイルスと脅威の防止 > 設定の管理を開き、除外の下で除外の追加または削除を選びます。Microsoft の Windows セキュリティのヘルプ ページはその代償を述べています: Defender は「それらの種類のファイルの脅威を確認しなくなり、デバイスとデータが脆弱な状態になる可能性があります。」さらに、ゲームに関係する 2 つの点を挙げています: プロセスの除外は「そのプロセスが開いたファイルはすべてリアルタイム スキャンから除外される」ことを意味し、「除外はリアルタイム スキャンにのみ適用される」ため、定期スキャンは同じファイルをスキャンすることがあります。
Microsoft の避けるべき除外の一覧は、「インストールされたアプリのプログラム フォルダー」、C:\Users\、Temp フォルダー、そして .exe、.dll、.zip のファイルの種類を挙げ、「項目が悪意のあるものではないと信頼している場合でも」避けるよう述べています。ゲームのインストール フォルダーは、インストールされたアプリのプログラム フォルダーです。Microsoft の除外の概要は、どの除外も「保護の隙間を作る」ものであり、「根本原因を特定した後でのみ」使うべきだと述べています。
ページによって、どこまで行うかの意見が分かれています: パフォーマンス モードのページはアナライザーを使って「負荷の高いプロセスやパスを絞り込み、除外に追加する」よう述べていますが、アナライザーのリファレンスは「除外の提案を行うことを目的としていません」と述べています。記録で 1 つのファイルが何度もスキャンされているとわかり、それでも除外すると決めた場合、4 つの種類の中で最も範囲が狭いのはファイルです。Microsoft の助言は、「意図したファイルだけを除外するために」完全なパスを指定することです。
Dev Drive とパフォーマンス モードはこのためのものではない
Windows 11 には Defender のパフォーマンス モードがあり、ファイルを開いている最中ではなく、開いた後にスキャンします (「今すぐ開き、後でスキャンする」)。これは Dev Drive (開発ドライブ) でのみ動作します。Microsoft は Dev Drive を「主要な開発者向けシナリオのみを対象としている」と述べ、Dev Drive のページはさらに「Dev Drive にアプリケーションをインストールすることはお勧めしません」と付け加えています。パフォーマンス モードのページ自体も、Antimalware Service Executable による「CPU 使用率やメモリ使用量が高いシナリオには適用されません」と述べています。
ほかのウイルス対策ソフトがインストールされている場合
家庭用の PC では、ほかのウイルス対策製品がインストールされて動作すると Defender は自動的に退き、その製品が「古い、期限切れ、または動作していない」場合に戻ってきます。スマート アプリ コントロールがオンの Windows 11 では、Defender が代わりにパッシブ モードになる場合があると Microsoft は注記しています。どの製品が有効かを確認するには: Windows セキュリティ > ウイルスと脅威の防止を開き、現在の保護機能のプロバイダーは? の下でプロバイダーの管理を選びます。
ほかの製品と並んで Defender がスキャンを続ける状況が 2 つあります:
- 定期的なスキャン。ほかの製品名の下にある Microsoft Defender ウイルス対策のオプションの中の、自分でオンにするスイッチです。Microsoft はこの機能を限定的な定期スキャンと呼び、「ほとんどのマルウェアや望ましくないソフトウェアを検出できません」と述べています。
- 無効にされた Windows セキュリティ センター サービス。 Microsoft は、その場合 Defender は「Microsoft 以外のウイルス対策のインストールを検出できず、アクティブのままになる」と警告し、こう付け加えています: 「両方がアクティブな保護を提供しようとします。これはパフォーマンスに影響し、サポートされていません。」
役に立たないこと
- Defender のサービスを停止または編集すること。 Microsoft は、触れてはならないサービスとして
wscsvc、SecurityHealthService、WinDefend、MsMpEngを挙げています: 手作業で変更すると「デバイスに深刻な不安定さを引き起こし、ネットワークを脆弱にする可能性があります」。 - ゲームのフォルダーやゲームのプロセスを除外すること。 プログラム フォルダーは Microsoft の避けるべき一覧に載っており、プロセスの除外はゲームが開くものすべてをリアルタイム スキャンの対象外にします。そしてどちらも定期スキャンを遠ざけません。
- ゲーム ライブラリ用の Dev Drive。 Microsoft は、Dev Drive にアプリケーションをインストールすることを推奨していません。
- 記録なしで判断すること。 上のどの処理も、タスク マネージャーでは同じ 1 行として表示されます。アナライザーは、その背後にどのファイル、プロセス、理由があったかを示します。
関連
- ゲーマーのためのタスク マネージャー: プレイ中に PC を使っているもの
- シェーダー コンパイルのカクつき: 最初の数分が最も悪い理由
- タスク マネージャーでディスクが 100%: 原因の見つけ方
- ゲーム中の急な FPS 低下: 本当の原因を見つける
- Windows 11 でゲームがカクつく理由 (と本当の原因の見つけ方)
ゲームに影響する Windows の設定はどれか、それぞれが誰に役立ち、誰には何の効果もないのか: ゲーム向けに Windows 11 を最適化する方法: 本当に意味のある設定
このページは役に立ちましたか?
何が足りなかったか、何がうまくいかなかったかを教えてください。いただいた内容はすべて読んでいます。
送信されるのは、入力した内容とこのページの名前だけです。サーバーは不正利用を防ぐために接続元の IP アドレスも記録し、報告と一緒に削除します。16 歳未満の方は、この欄を使わないでください。 プライバシー ポリシー
このページで解決しなかった場合は、ご連絡ください。どの記事を読んだかを書いていただければ、その記事を修正します。