Analyzátor výkonu pro Microsoft Defender Antivirus

Platí pro

Platformy

  • Windows

Požadavky

Microsoft Defender Antivirový analyzátor výkonu má následující požadavky:

  • Podporované verze Windows: Windows 10, Windows 11, Windows 2012 R2 s moderním sjednoceným řešením a Windows Server 2016 a novější
  • Verze platformy: 4.18.2108.7 nebo novější
  • Verze PowerShellu: PowerShell verze 5.1, PowerShell ISE, vzdálený PowerShell (4.18.2201.10+), PowerShell 7.x (4.18.2201.10+)

Co je analyzátor výkonu Microsoft Defender Antivirové ochrany?

Pokud na počítačích s Microsoft Defender Antivirovou sadou dochází k problémům s výkonem, můžete pomocí Analyzátoru výkonu zvýšit výkon Microsoft Defender Antivirové ochrany. Analyzátor výkonu pro Microsoft Defender Antivirus ve Windows 10, Windows 11 a Windows Serveru je nástroj příkazového řádku PowerShellu, který vám pomůže určit soubory, přípony souborů a procesy, které můžou způsobovat problémy s výkonem jednotlivých koncových bodů během antivirových kontrol. Informace shromážděné Analyzátorem výkonu můžete použít k posouzení problémů s výkonem a k použití nápravných akcí.

Podobně jako mechanika provádí diagnostiku a servis na vozidle, které má problémy s výkonem, vám analyzátor výkonu může pomoct zlepšit výkon Antivirové ochrany v programu Defender.

Obrázek koncepčního analyzátoru výkonu pro Microsoft Defender Antivirus. Diagram se týká: Microsoft Defender analyzátoru výkonu, Analyzátoru výkonu programu Defender, Get-MpPerformanceRepor, New-MpPerformanceRecording, windows Defenderu, microsoft defenderu, microsoft windows 10, antivirové ochrany v programu Microsoft Defender, micro soft windows 11, windows antivirus, antivirová ochrana v programu Windows Defender, antivirová ochrana v programu Windows Defender, Windows 10 antivirus, microsoft windows Defender, výkon Windows.

Mezi možnosti analýzy patří:

  • Hlavní cesty, které mají vliv na dobu kontroly
  • Hlavní soubory, které mají vliv na dobu kontroly
  • Hlavní procesy, které mají vliv na dobu kontroly
  • Hlavní přípony souborů, které mají vliv na dobu kontroly
  • Kombinace – například:
    • top files per extension
    • top paths per extension
    • top processes per path
    • top scans per file
    • top scans per file per process

Spuštění Analyzátoru výkonu

Proces vysoké úrovně pro spuštění analyzátoru výkonu zahrnuje následující kroky:

  1. Spuštěním analyzátoru výkonu shromážděte záznam výkonu událostí Microsoft Defender Antivirové ochrany v koncovém bodu.

    Poznámka

    Výkon Microsoft Defender antivirových událostí typu Microsoft-Antimalware-Engine se zaznamenávají prostřednictvím analyzátoru výkonu.

  2. Analyzujte výsledky kontroly pomocí různých sestav záznamu.

Použití Analyzátoru výkonu

Pokud chcete začít zaznamenávat systémové události, otevřete PowerShell v režimu správy a proveďte následující kroky:

  1. Spuštěním následujícího příkazu spusťte nahrávání:

    New-MpPerformanceRecording -RecordTo <recording.etl>
    

    where -RecordTo parametr určuje umístění úplné cesty, do kterého je uložen trasovací soubor. Další informace o rutinách najdete v tématu rutiny Microsoft Defender Antivirus.

  2. Pokud existují procesy nebo služby, o které se předpokládá, že ovlivňují výkon, reprodukujte situaci provedením příslušných úkolů.

  3. Stisknutím klávesy ENTER záznam zastavíte a uložíte, nebo stisknutím Ctrl+C záznam zrušíte.

  4. Analyzujte výsledky pomocí parametru analyzátoru výkonu Get-MpPerformanceReport . Například při spuštění příkazu Get-MpPerformanceReport -Path <recording.etl> -TopFiles 3 -TopScansPerFile 10se uživateli zobrazí seznam prvních deseti kontrol pro první tři soubory, které mají vliv na výkon.

Další informace o parametrech a možnostech příkazového řádku najdete v tématech New-MpPerformanceRecording a Get-MpPerformanceReport.

Poznámka

Pokud se při spuštění nahrávky zobrazí chyba "Záznam výkonu nelze spustit, protože záznam výkonu systému Windows už nahrává", spusťte následující příkaz, kterým zastavíte stávající trasování pomocí nového příkazu: wpr -cancel -instancename MSFT_MpPerformanceRecording

Data a informace o ladění výkonu

Na základě dotazu může uživatel zobrazit data o počtu kontrol, době trvání (celkem/min/průměr/maximum/medián), cestě, procesu a důvodu kontroly. Následující obrázek ukazuje ukázkový výstup pro jednoduchý dotaz na 10 nejlepších souborů pro dopad kontroly.

Příklad výstupu základního dotazu TopFiles

Další funkce: export a převod do FORMÁTU CSV a JSON

Výsledky analyzátoru výkonu je také možné exportovat a převést na soubor CSV nebo JSON. Příklady, které popisují proces "exportu" a "převodu" prostřednictvím vzorových kódů, najdete v následujících částech.

Od verze 4.18.2206.XDefenderu můžou uživatelé zobrazit informace o důvodu přeskočení kontroly ve sloupci SkipReason. Možné hodnoty:

  • Nepřeskočeno
  • Optimalizace (obvykle z důvodů výkonu)
  • Uživatel byl vynechán (obvykle kvůli vyloučení sady uživatelů)

Pro csv

  • Export:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | Export-CSV -Path .\Repro-Install-Scans.csv -Encoding UTF8 -NoTypeInformation
  • Převod:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 100).TopScans | ConvertTo-Csv -NoTypeInformation

Pro JSON

  • Převod:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | ConvertTo-Json -Depth 1

Pokud chcete zajistit strojově čitelný výstup pro export s jinými systémy zpracování dat, doporučujeme použít -Raw parametr pro Get-MpPerformanceReport. Další podrobnosti najdete v následujících částech.

Referenční informace k PowerShellu

K ladění výkonu Microsoft Defender Antivirové ochrany se používají dvě nové rutiny PowerShellu:

New-MpPerformanceRecording

Následující část popisuje referenční informace pro novou rutinu PowerShellu New-MpPerformanceRecording. Tato rutina shromažďuje záznam výkonu kontrol Microsoft Defender antivirové ochrany.

Syntaxe: New-MpPerformanceRecording

New-MpPerformanceRecording -RecordTo <String>

Popis: New-MpPerformanceRecording

Rutina New-MpPerformanceRecording shromažďuje záznam výkonu kontrol Microsoft Defender Antivirové ochrany. Tyto záznamy výkonu obsahují události procesu jádra Microsoft-Antimalware-Engine a NT a lze je analyzovat po shromáždění pomocí rutiny Get-MpPerformanceReport .

Tato New-MpPerformanceRecording rutina poskytuje přehled o problematických souborech, které by mohly způsobit snížení výkonu antivirové ochrany Microsoft Defender. Tento nástroj se poskytuje "TAK, JAK JE", a není určen k poskytování návrhů na vyloučení. Vyloučení můžou snížit úroveň ochrany vašich koncových bodů. Případné výjimky byste měli definovat s opatrností.

Další informace o analyzátoru výkonu najdete v dokumentaci k Analyzátor výkonu.

Důležité

Tato rutina vyžaduje zvýšená oprávnění správce.

Příklady: New-MpPerformanceRecording

Příklad 1: Shromáždění záznamu výkonu a jeho uložení
New-MpPerformanceRecording -RecordTo .\Defender-scans.etl

Výše uvedený příkaz shromáždí záznam výkonu a uloží ho do zadané cesty : .\Defender-scans.etl.

Příklad 2: Shromáždění záznamu výkonu pro vzdálenou relaci PowerShellu
$s = New-PSSession -ComputerName Server02 -Credential Domain01\User01
New-MpPerformanceRecording -RecordTo C:\LocalPathOnServer02\trace.etl -Session $s

Výše uvedený příkaz shromáždí záznam výkonu na serveru Server02 (podle argumentu $s parametru Session) a uloží ho do zadané cesty: C:\LocalPathOnServer02\trace.etl na Serveru02.

Parametry: New-MpPerformanceRecording

-RecordTo

Určuje umístění, do kterého se má uložit záznam výkonu Microsoft Defender antimalwaru.

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Relace

Určuje objekt PSSession, ve kterém se má vytvořit a uložit záznam výkonu Microsoft Defender antivirové ochrany. Když použijete tento parametr, parametr RecordTo odkazuje na místní cestu na vzdáleném počítači. K dispozici s platformou Defender verze 4.18.2201.10.

Type: PSSession[]
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Get-MpPerformanceReport

Následující část popisuje rutinu powershellu Get-MpPerformanceReport. Analyzuje a hlásí záznam výkonu Microsoft Defender antivirové ochrany.

Syntaxe: Get-MpPerformanceReport

Get-MpPerformanceReport [-Path] <String>
    [-TopScans [<Int32>]]
    [-TopPaths [<Int32>] [-TopPathsDepth [<Int32>]]]
            [-TopScansPerPath [<Int32>]]
            [-TopFilesPerPath [<Int32>]
                    [-TopScansPerFilePerPath [<Int32>]]
                    ]
            [-TopExtensionsPerPath [<Int32>]
                    [-TopScansPerExtensionPerPath [<Int32>]]
                    ]
            [-TopProcessesPerPath [<Int32>]
                    [-TopScansPerProcessPerPath [<Int32>]]
                    ]
            ]
    [-TopFiles [<Int32>]
            [-TopScansPerFile [<Int32>]]
            [-TopProcessesPerFile [<Int32>]
                    [-TopScansPerProcessPerFile [<Int32>]]
                    ]
            ]
    [-TopExtensions [<Int32>]
            [-TopScansPerExtension [<Int32>]
            [-TopPathsPerExtension [<Int32>] [-TopPathsDepth [<Int32>]]
                    [-TopScansPerPathPerExtension [<Int32>]]
                    ]
            [-TopProcessesPerExtension [<Int32>]
                    [-TopScansPerProcessPerExtension [<Int32>]]
                    ]
            [-TopFilesPerExtension [<Int32>]
                    [-TopScansPerFilePerExtension [<Int32>]]
                    ]
            ]
    [-TopProcesses [<Int32>]
            [-TopScansPerProcess [<Int32>]]
            [-TopExtensionsPerProcess [<Int32>]
                    [-TopScansPerExtensionPerProcess [<Int32>]]
                    ]
            [-TopPathsPerProcess [<Int32>] [-TopPathsDepth [<Int32>]]
                    [-TopScansPerPathPerProcess [<Int32>]]
                    ]
            [-TopFilesPerProcess [<Int32>]
                    [-TopScansPerFilePerProcess [<Int32>]]
                    ]
            ]
    [-MinDuration <String>]
    [-Raw]

Popis: Get-MpPerformanceReport

Rutina Get-MpPerformanceReport analyzuje dříve shromážděný záznam výkonu Microsoft Defender antivirové ochrany (New-MpPerformanceRecording) a hlásí cesty k souborům, přípony souborů a procesy, které mají největší dopad na Microsoft Defender antivirové kontroly.

Analyzátor výkonu poskytuje přehled o problematických souborech, které by mohly způsobit snížení výkonu Microsoft Defender Antivirové ochrany. Tento nástroj je poskytován "TAK, JAK JE" a není určen k poskytování návrhů na vyloučení. Vyloučení můžou snížit úroveň ochrany vašich koncových bodů. Případné výjimky byste měli definovat s opatrností.

Další informace o analyzátoru výkonu najdete v dokumentaci k Analyzátor výkonu.

Podporované verze operačního systému:

Windows verze 10 a novější.

Poznámka

Tato funkce je dostupná od verze 4.18.2108.X a novější.

Příklady: Get-MpPerformanceReport

Příklad 1: Jeden dotaz
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 20
Příklad 2: Více dotazů
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10
Příklad 3: Vnořené dotazy
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopProcesses 10 -TopExtensionsPerProcess 3 -TopScansPerExtensionPerProcess 3
Příklad 4: Použití parametru -MinDuration
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 100 -MinDuration 100ms
Příklad 5: Použití parametru -Raw
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10 -Raw | ConvertTo-Json

Použití -Raw ve výše uvedeném příkazu určuje, že výstup by měl být strojově čitelný a snadno převést na formáty serializace, jako je JSON.

Parametry: Get-MpPerformanceReport

-TopPaths

Vyžádá si sestavu hlavních cest a určuje, kolik hlavních cest k výstupu, seřazených podle doby trvání. Agreguje kontroly na základě jejich cesty a adresáře. Uživatel může určit, kolik adresářů se má zobrazit na jednotlivých úrovních a hloubka výběru.

- Type: Int32
- Position: Named
- Default value: None
- Accept pipeline input: False
- Accept wildcard characters: False
-TopPathsDepth

Určuje rekurzivní hloubku, která se používá k seskupení a zobrazení agregovaných výsledků cesty. Například "C:" odpovídá hloubce 1, "C:\Users\Foo" odpovídá hloubce 3.

Tento příznak může doprovázet všechny ostatní možnosti horní cesty. Pokud chybí, předpokládá se výchozí hodnota 3. Hodnota nemůže být 0.

- Type: Int32
- Position: Named
- Default value: 3
- Accept pipeline input: False
- Accept wildcard characters: False
Vlajky Definice
-TopScansPerPath Určuje, kolik prvních kontrol se má zadat pro každou horní cestu.
-TopFilesPerPath Určuje, kolik hlavních souborů se má zadat pro každou horní cestu.
-TopScansPerFilePerPath Určuje, kolik prvních skenů se má vydělovat pro každý horní soubor pro každou horní cestu, seřazených podle doby trvání.
-TopExtensionsPerPath Určuje, kolik hlavních rozšíření se má vydělovat pro každou horní cestu.
-TopScansPerExtensionPerPath Určuje, kolik prvních skenů se má vydělovat pro každé horní rozšíření pro každou horní cestu.
-TopProcessesPerPath Určuje, kolik hlavních procesů se má vydělovat pro každou horní cestu.
-TopScansPerProcessPerPath Určuje, kolik prvních skenů se má vydělovat pro každý hlavní proces pro každou horní cestu.
-TopPathsPerExtension Určuje, kolik hlavních cest se má vyvést pro každé hlavní rozšíření.
-TopScansPerPathPerExtension Určuje, kolik prvních skenů se má vydělovat pro každou horní cestu pro každé horní rozšíření.
-TopPathsPerProcess Určuje počet hlavních cest k výstupu pro každý hlavní proces.
-TopScansPerPathPerProcess Určuje, kolik prvních kontrol se má vydělovat pro každou horní cestu pro každý proces na začátku.
-MinDuration

Určuje minimální dobu trvání jakékoli kontroly nebo celkové doby trvání kontroly souborů, rozšíření a procesů zahrnutých v sestavě. přijímá hodnoty jako 0.1234567sec, 0.1234ms, 0.1us nebo platný časový rozsah.

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Cestu

Určuje cestu nebo cesty k jednomu nebo více umístěním.

Type: String
Position: 0
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-Syrové

Určuje, že výstup záznamu výkonu by měl být strojově čitelný a snadno převoditelný na formáty serializace, jako je JSON (například pomocí příkazu Convert-to-JSON). Tato konfigurace se doporučuje uživatelům, kteří mají zájem o dávkové zpracování s jinými systémy zpracování dat.

Type: <SwitchParameter>
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-TopExtensions

Určuje, kolik hlavních rozšíření výstupu seřadí podle doby trvání.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopExtensionsPerProcess

Určuje, kolik hlavních rozšíření se má vydělovat pro každý hlavní proces seřazených podle doby trvání.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFiles

Vyžádá si sestavu s nejvyššími soubory a určí, kolik hlavních souborů se má vyřadit podle doby trvání.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFilesPerExtension

Určuje, kolik nejlepších souborů se má vydělovat pro každé hlavní rozšíření seřazené podle doby trvání.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFilesPerProcess

Určuje, kolik hlavních souborů se má vydělovat pro každý hlavní proces seřazených podle doby trvání.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcesses

Vyžádá si sestavu hlavních procesů a určuje, kolik hlavních procesů se má vyřadit podle doby trvání.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcessesPerExtension

Určuje, kolik hlavních procesů se má vydělovat pro každé hlavní rozšíření seřazené podle doby trvání.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcessesPerFile

Určuje, kolik hlavních procesů se má vydělovat pro každý hlavní soubor seřazených podle doby trvání.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScans

Vyžádá si sestavu s nejvyššími kontrolami a určí, kolik hlavních kontrol má být výstupu seřazeno podle doby trvání.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerExtension

Určuje, kolik hlavních kontrol se má vydělovat pro každé hlavní rozšíření seřazené podle doby trvání.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerExtensionPerProcess

Určuje, kolik hlavních kontrol se má vydělovat pro každé hlavní rozšíření pro každý hlavní proces seřazených podle doby trvání.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFile

Určuje, kolik nejvyšších kontrol se má vydělovat pro každý hlavní soubor seřazených podle doby trvání.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFilePerExtension

Určuje, kolik hlavních kontrol se má vydělovat pro každý hlavní soubor pro každou horní příponu seřazených podle doby trvání.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFilePerProcess

Určuje, kolik nejvyšších hodnot vyhledá výstup pro každý hlavní soubor pro každý hlavní proces seřazený podle doby trvání.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcess

Určuje, kolik hlavních kontrol se má vydělovat pro každý hlavní proces v sestavě Top Processes (Hlavní procesy) seřazených podle doby trvání.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcessPerExtension

Určuje, kolik prvních hledání výstupu pro každý hlavní proces pro každé horní rozšíření, seřazené podle doby trvání.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcessPerFile

Určuje, kolik prvních hledání výstupu pro každý hlavní proces každého horního souboru seřazeno podle doby trvání.

Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Další zdroje informací

Pokud hledáte informace související s antivirovým programem pro jiné platformy, podívejte se na:

Tip

Chcete se dozvědět více? Engage s komunitou Microsoft Security v naší technické komunitě: Microsoft Defender for Endpoint Tech Community.