PORADNIKI

Antimalware Service Executable obciąża procesor podczas gry

Antimalware Service Executable to pracujący program antywirusowy Microsoft Defender. Co go budzi, gdy grasz, jak zarejestrować, co skanował, i jak przenieść jego zaplanowane skanowanie na porę, w której nie grasz.

Gra przycina, otwierasz Menedżer zadań, a blisko góry kolumny CPU siedzi Antimalware Service Executable. Nazwa brzmi groźnie, ale to sam program antywirusowy Microsoft Defender: strona Microsoftu o rozwiązywaniu problemów z wydajnością Defendera zaczyna od nazwania go „Anti-malware Service Executable, MsMpEng.exe, Microsoft Defender Antivirus”. Jego czas procesora bierze się z konkretnych zadań, a to, które zadanie to było, decyduje, co możesz z tym zrobić.

Trzy zadania, które go budzą

  1. Ochrona w czasie rzeczywistym. Według strony Microsoftu o zaplanowanych skanowaniach sprawdza pliki, gdy są otwierane i zamykane, oraz za każdym razem, gdy użytkownik przechodzi do folderu. Instalacja gry albo łatki i zapisywanie przez grę jej pamięci podręcznej shaderów na dysk otwierają i zamykają pliki. Strona o rozwiązywaniu problemów dodaje, że uruchomienie pliku programu, który nie jest podpisany cyfrowo, rozpoczyna skanowanie ochrony w czasie rzeczywistym.
  2. Zaplanowane skanowania. Według Microsoftu działają one dodatkowo, obok stale włączonej ochrony w czasie rzeczywistym. Codzienne zaplanowane skanowanie może być tylko szybkim skanowaniem; cotygodniowe może być szybkie albo pełne, a pełne skanowanie może według Microsoftu trwać kilka godzin albo dni.
  3. Skanowanie po aktualizacji. Microsoft podaje, że domyślnie program antywirusowy Microsoft Defender skanuje po aktualizacji analizy zabezpieczeń, a strona o rozwiązywaniu problemów ostrzega, że może to wyglądać jak skanowania uruchamiane poza harmonogramem.

Zaplanowane skanowania domyślnie czekają na bezczynność: dokumentacja PowerShell podaje, że działają, gdy komputer jest włączony, ale nieużywany. Strony Microsoftu podają różne progi bezczynności: łączne użycie procesora poniżej 80% na stronie o rozwiązywaniu problemów, poniżej 90% wykorzystania procesora w dokumentacji PowerShell. Kiedy zaplanowane skanowanie już działa na bezczynnej maszynie, ustawienia domyślne go nie ograniczają: wytyczna średnio 50% procesora, która według Microsoftu nie jest twardym limitem, jest dla tych skanowań ignorowana.

Najpierw zarejestruj, co skanuje

Analizator wydajności rejestruje skanowania Defendera i raportuje, które pliki, rozszerzenia plików i procesy kosztują najwięcej czasu skanowania. Wymaga Windows 10 albo 11, platformy Defendera w wersji 4.18.2108.7 lub nowszej i PowerShell uruchomionego jako administrator. Rozpocznij nagrywanie (-RecordTo przyjmuje pełną ścieżkę):

New-MpPerformanceRecording -RecordTo "$env:USERPROFILE\Defender-scans.etl"

Zostaw okno otwarte i graj, dopóki przycięcie nie wróci; instrukcja Microsoftu każe odtworzyć sytuację podczas nagrywania. Potem naciśnij Enter w tym oknie, żeby zatrzymać i zapisać nagranie, i odczytaj raport:

Get-MpPerformanceReport -Path "$env:USERPROFILE\Defender-scans.etl" -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10

Raport podaje liczbę i czas trwania skanowań, ścieżkę, proces i powód każdego skanowania: plik, proces i przyczynę zamiast „Defender zużywa procesor”. Dokumentacja dodaje zastrzeżenie: narzędzie nie jest przeznaczone do podsuwania sugestii co do wykluczeń, a wykluczenia mogą obniżyć poziom ochrony urządzeń.

Przenieś zaplanowane skanowanie na porę, w której nie grasz

Jeśli pora albo raport wskazują na zaplanowane skanowanie, ustaw, kiedy ma działać. Dokumentacja PowerShell podaje taki przykład codziennego szybkiego skanowania w porze lunchu, kiedy według niej urządzenie jest prawdopodobnie włączone, ale aktywność na nim jest prawdopodobnie minimalna. W oknie PowerShell uruchomionym jako administrator:

Set-MpPreference -ScanScheduleQuickScanTime 12:30:00 -ScanScheduleOffset 0 -RandomizeScheduleTaskTimes $false -ScanOnlyIfIdleEnabled $false

Co robi każda część, według tej strony:

Możesz też zażądać niskiego priorytetu procesora dla zaplanowanych skanowań. Strona o rozwiązywaniu problemów podaje, że obniża to priorytet wątku skanowania z 9 do 8, dzięki czemu wątki innych aplikacji mogą działać z wyższym priorytetem:

Set-MpPreference -EnableLowCpuPriority $true

Nic z tego nie dotyka ochrony w czasie rzeczywistym; decyduje tylko o tym, kiedy i jak działają zaplanowane skanowania.

Wykluczenia, razem z ostrzeżeniami Microsoftu

Zabezpieczenia Windows mogą wykluczyć plik, folder, typ pliku albo proces: Zabezpieczenia Windows > Ochrona przed wirusami i zagrożeniami > Zarządzaj ustawieniami, a potem w obszarze Wykluczenia wybierz Dodaj lub usuń wykluczenia. Strona pomocy Microsoftu o Zabezpieczeniach Windows podaje koszt: Defender nie będzie już sprawdzał takich plików pod kątem zagrożeń, co może narazić urządzenie i dane. Dodaje też dwa szczegóły ważne dla gier: wykluczenie procesu oznacza, że każdy plik otwarty przez ten proces zostanie pominięty przy skanowaniu w czasie rzeczywistym, a wykluczenia dotyczą tylko skanowania w czasie rzeczywistym, więc zaplanowane skanowanie może dalej skanować te same pliki.

Lista Microsoftu wykluczeń, których należy unikać wymienia foldery programów zainstalowanych aplikacji, C:\Users\, foldery Temp oraz typy plików .exe, .dll i .zip, nawet jeśli ufasz, że te elementy nie są złośliwe. Folder instalacyjny gry to folder programu zainstalowanej aplikacji. Przegląd wykluczeń od Microsoftu podaje, że każde z nich tworzy lukę w ochronie i powinno być dodane dopiero po ustaleniu przyczyny źródłowej.

Strony nie zgadzają się, jak daleko się posunąć: strona o trybie wydajności każe użyć analizatora, żeby zawęzić wybór do najbardziej obciążających procesów i ścieżek i dodać je do wykluczeń, a dokumentacja analizatora mówi, że nie jest on przeznaczony do podsuwania sugestii co do wykluczeń. Jeśli nagranie pokazuje jeden plik skanowany raz za razem, a ty mimo wszystko zdecydujesz się go wykluczyć, Plik to najwęższy z czterech typów, a rada Microsoftu to podanie pełnej ścieżki, tak żeby wykluczyć tylko ten plik, o który ci chodzi.

Dev Drive i tryb wydajności nie są do tego

Windows 11 ma w Defenderze tryb wydajności, który skanuje plik po jego otwarciu, a nie w trakcie otwierania („Open now, scan later”). Działa on tylko na Dev Drive (dysku deweloperskim), który według Microsoftu jest przeznaczony wyłącznie do kluczowych scenariuszy deweloperskich, a strona o Dev Drive dodaje, że Microsoft nie zaleca instalowania aplikacji na Dev Drive. Sama strona o trybie wydajności mówi, że nie dotyczy on scenariuszy wysokiego użycia procesora albo pamięci przez Antimalware Service Executable.

Jeśli zainstalowany jest inny antywirus

Na domowym komputerze Defender sam ustępuje miejsca, gdy inny program antywirusowy jest zainstalowany i działa, i wraca, jeśli tamten program jest według Microsoftu nieaktualny, wygasły albo nie działa. W Windows 11 z włączonym Smart App Control Microsoft zaznacza, że Defender może zamiast tego przejść w tryb pasywny. Żeby sprawdzić, który program jest aktywny: Zabezpieczenia Windows > Ochrona przed wirusami i zagrożeniami, a potem w obszarze Kto mnie chroni? wybierz Zarządzaj dostawcami.

Dwie sytuacje sprawiają, że Defender skanuje obok innego programu:

Co nie pomaga

Powiązane

Czy ta strona pomogła?

Czego zabrakło albo co nie zadziałało? Czytamy każdą taką wiadomość.

Jeśli ta strona nie rozwiązała problemu, napisz do nas — podaj, który artykuł czytasz, a poprawimy ten artykuł.