last update 2019年6月5日 15:10

Windows 10でディスク・CPU利用率が常に高い場合の対処方法(Antimalware Service Executable)

businessman-suffering-from-neck-pain_sizeXS

けっこう前から時折、Windows 10 上で「Antimalware Service Executable」というタスクがディスクに書き込み続ける、という症状が出て困っていたのですが、とりあえずしばらくの間は緩和できる方法が分かったので書いておきます。

具体的な症状はこんな感じ。

  • エクスプローラー上から「ダウンロード」ディレクトリの一部ファイルが削除できなくなる(削除時、プログレスバーが出たまま処理が終わらない)
  • タスクマネージャ上で見ると、「Antimalware Service Executable」が毎秒20~30MB/s くらいで常にディスクへ書き込み続けている(SSD搭載機で確認)
  • 非力なマシンだと、タスクマネージャ上でCPU利用率が高いままになっている

長期に渡って何度も症状を経験する中、どうやら症状が発生するタイミングは Chrome で何かをダウンロードした後が多いように思ってまして、ダウンロードディレクトリ内のファイル削除ができなくて初めて気が付く、というパターンがほとんどでした。

挙動をよくよく掘り下げてみると、どうも Windows Defender と Chrome との組み合わせだとウィルスチェック機構が自分自身をスキャンし続けてしまうケースがあるようで、限りなく何らかのバグ臭を感じます。

根本的に解決するには Windows Defender の利用を止めて別のセキュリティソフトに乗り換える感じになりそうですが、(またはバグが修正されれば良いのですが)、今回は、事情があって取り合えず標準構成のままでどうにかしたい、という方向けの対策方法を紹介しておきます。

Windows Defenderの除外設定

Windows Defender に自分自身をスキャンさせないようにする設定は次のとおりです。

なお、この設定は、設定時点での Windows Defender のバージョンのみに効く対策です。Windows Update で Windows Defender のエンジンのバージョンが上がった場合は無効になりますので注意してください。

事前作業

まず最初に、Windows Defender の問題となる実行形式ファイルの場所を確認します。

症状発生時にタスクマネージャの「プロセス」タブを開き、CPU利用率やディスク利用率の降順でソースすると「Antimalware Service Executable」が一番上に来ることが多いと思いますので、右クリック →「プロパティ」を開きます。
how_to_stop_disk_write_flood_by_windows_defender_5_sh

MsMpEng.exe のプロパティ画面が開くので、「場所」をコピーで控えておきます。
how_to_stop_disk_write_flood_by_windows_defender_4_sh

症状が発生中でなくファイルの場所がわからない場合は「C:\ProgramData\Microsoft\Windows Defender\Platform」を開き、一番新しいバージョンの場所を控えておく手もあります。が、上記の方法の方がより確実でしょう。

Windows Defenderの除外設定

次に Windows Defender の除外設定する方法です。

今回の手順は Windows 10 Pro バージョン 1809 / ビルド 17763.503 上のものです。環境によって手順は変わりますので随時読み替えてください。

アクションセンター → 「すべての設定」→「更新とセキュリティ」→「Windows セキュリティ」→「Windowsセキュリティを開く」→「ウイルスと脅威の防止」を開きます。
how_to_stop_disk_write_flood_by_windows_defender_8_sh

「ウイルスと脅威の防止の設定」の「設定の管理」を開きます。
how_to_stop_disk_write_flood_by_windows_defender_9_sh

「除外」の「除外の追加または削除」を開きます。
how_to_stop_disk_write_flood_by_windows_defender_10_sh

「除外の追加」→「ファイル」を選択します。
how_to_stop_disk_write_flood_by_windows_defender_11_sh

ここで、事前作業で確認した場所を開いて「MsMpEng.exe」を開きます。
how_to_stop_disk_write_flood_by_windows_defender_12_sh

除外ファイルが登録されました。
how_to_stop_disk_write_flood_by_windows_defender_13_sh

これで設定は終了です。

ちなみにエクスプローラーで「C:\ProgramData\Microsoft\Windows Defender\Platform」を見ていただくと、(何度か Windows Update をかけている端末なら)複数バージョンの Windows Defender のエンジンが残っていることが確認できると思います。

今回の設定はそのうちの1つを除外しただけですので、将来、バージョンが上がれば除外設定は実質無効化されてしまいます。

ただし、これを繰り返すことで、将来のバージョンアップで対策されるのを待つ、というのも1つの策と言えるかもしれません。

根本対策はウィルス対策ソフトのリプレースか

今回の Windows Defender の高負荷問題が Windows Defender 側の問題なのか、それとも Chrome などのソフト側の問題なのかは僕にはジャッジできませんが、長期に渡って放置されている問題であることは間違いありません。

問題がなかなか修正されない現状、根本的な対策には他のセキュリティ対策ソフトへの乗り換えが現実的と言えそうです。

コメントを記入