Анализатор производительности для антивирусной Microsoft Defender
Область применения
- Microsoft Defender для конечной точки (план 1)
- Microsoft Defender для конечной точки (план 2)
- Антивирусная программа в Microsoft Defender
Платформы
- Windows
Требования
Анализатор производительности антивирусной программы Microsoft Defender имеет следующие предварительные требования:
- Поддерживаемые версии Windows: Windows 10, Windows 11, Windows 2012 R2 с современным унифицированным решением и Windows Server 2016 и более поздних версий
- Версия платформы:
4.18.2108.7
или более поздняя - Версия PowerShell: PowerShell версии 5.1, среда интегрированной среды сценариев PowerShell, удаленная версия PowerShell (4.18.2201.10+), PowerShell 7.x (4.18.2201.10+)
Что такое анализатор производительности антивирусной программы Microsoft Defender?
Если на компьютерах под управлением Microsoft Defender антивирусной программы возникают проблемы с производительностью, можно использовать анализатор производительности для повышения производительности Microsoft Defender антивирусной программы. Анализатор производительности для антивирусной программы Microsoft Defender в Windows 10, Windows 11 и Windows Server — это средство командной строки PowerShell, которое помогает определять файлы, расширения файлов и процессы, которые могут вызывать проблемы с производительностью на отдельных конечных точках во время проверки антивирусной программы. Сведения, собранные анализатором производительности, можно использовать для оценки проблем с производительностью и применения действий по исправлению.
Подобно тому, как механики выполняют диагностика и обслуживание на транспортном средстве с проблемами производительности, анализатор производительности может помочь вам повысить производительность антивирусной программы Defender.
Ниже приведены некоторые варианты анализа.
- Основные пути, влияющие на время сканирования
- Основные файлы, влияющие на время сканирования
- Основные процессы, влияющие на время сканирования
- Основные расширения файлов, влияющие на время сканирования
- Сочетания— например:
- top files per extension
- верхние пути на расширение
- top процессов на путь
- большее число сканирований на файл
- большее число сканирований на файл на каждый процесс
Запуск анализатора производительности
Высокоуровневый процесс запуска анализатора производительности включает в себя следующие действия.
Запустите анализатор производительности, чтобы собрать запись о производительности событий Microsoft Defender антивирусной программы в конечной точке.
Примечание.
Производительность Microsoft Defender события антивирусной программы типа Microsoft-Antimalware-Engine регистрируются с помощью анализатора производительности.
Анализ результатов сканирования с помощью различных отчетов о записи.
Использование анализатора производительности
Чтобы начать запись системных событий, откройте PowerShell в режиме администрирования и выполните следующие действия.
Выполните следующую команду, чтобы начать запись:
New-MpPerformanceRecording -RecordTo <recording.etl>
параметр where
-RecordTo
указывает полное расположение пути, в котором сохраняется файл трассировки. Дополнительные сведения о командлетах см. в разделе Microsoft Defender антивирусных командлетов.Если есть процессы или службы, которые, как полагают, влияют на производительность, воспроизведите ситуацию, выполнив соответствующие задачи.
Нажмите клавишу ВВОД , чтобы остановить и сохранить запись, или CTRL+C , чтобы отменить запись.
Проанализируйте результаты с помощью параметра анализатора
Get-MpPerformanceReport
производительности. Например, при выполнении командыGet-MpPerformanceReport -Path <recording.etl> -TopFiles 3 -TopScansPerFile 10
пользователю предоставляется список из десяти самых разных файлов, влияющих на производительность.
Дополнительные сведения о параметрах и параметрах командной строки см. в разделах New-MpPerformanceRecording и Get-MpPerformanceReport.
Примечание.
Если при выполнении записи появляется сообщение об ошибке "Не удается запустить запись производительности, так как средство записи производительности Windows уже записывается", выполните следующую команду, чтобы остановить существующую трассировку с помощью новой команды: wpr -cancel -instancename MSFT_MpPerformanceRecording
Данные и сведения о настройке производительности
На основе запроса пользователь может просматривать данные о количестве сканирований, длительности (total/min/average/max/median), пути, процессах и причинах сканирования. На следующем рисунке показан пример выходных данных для простого запроса из 10 основных файлов для влияния сканирования.
Дополнительные функции: экспорт и преобразование в CSV и JSON
Результаты анализатора производительности также можно экспортировать и преобразовать в CSV- или JSON-файл. Примеры, описывающие процесс "экспорта" и "преобразования" с помощью примеров кодов, см. в следующих разделах.
Начиная с версии 4.18.2206.X
Defender, пользователи могут просматривать сведения о причине пропуска сканирования в столбце SkipReason. Возможные значения:
- Не пропущено
- Оптимизация (как правило, из-за соображений производительности)
- Пользователь пропущен (как правило, из-за исключений, заданных пользователем)
Для CSV-файла
- Экспорт:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | Export-CSV -Path .\Repro-Install-Scans.csv -Encoding UTF8 -NoTypeInformation
- Для преобразования:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 100).TopScans | ConvertTo-Csv -NoTypeInformation
Для JSON
- Для преобразования:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | ConvertTo-Json -Depth 1
Чтобы обеспечить машиночитаемые выходные данные для экспорта с другими системами обработки данных, рекомендуется использовать -Raw
параметр для Get-MpPerformanceReport
. Дополнительные сведения см. в следующих разделах.
Справочные материалы по PowerShell
Для настройки производительности Microsoft Defender антивирусной программы используются два новых командлета PowerShell:
New-MpPerformanceRecording
В следующем разделе описывается справочник по новому командлету PowerShell New-MpPerformanceRecording. Этот командлет собирает запись производительности Microsoft Defender проверок антивирусной программы.
Синтаксис: New-MpPerformanceRecording
New-MpPerformanceRecording -RecordTo <String>
Описание: New-MpPerformanceRecording
Командлет New-MpPerformanceRecording
собирает запись производительности Microsoft Defender проверок антивирусной программы. Эти записи производительности содержат события процессов ядра Microsoft-Antimalware-Engine и NT и могут быть проанализированы после сбора с помощью командлета Get-MpPerformanceReport .
Этот New-MpPerformanceRecording
командлет предоставляет представление о проблемных файлах, которые могут привести к снижению производительности Microsoft Defender антивирусной программы. Это средство предоставляется "КАК есть" и не предназначено для предоставления предложений по исключениям. Исключения могут снизить уровень защиты конечных точек. Исключения, если таковые есть, следует определять с осторожностью.
Дополнительные сведения об анализаторе производительности см. в документации по Анализатор производительности.
Важно!
Для этого командлета требуются повышенные права администратора.
Примеры: New-MpPerformanceRecording
Пример 1. Сбор записи производительности и ее сохранение
New-MpPerformanceRecording -RecordTo .\Defender-scans.etl
Приведенная выше команда собирает запись производительности и сохраняет ее по указанному пути: .\Defender-scans.etl.
Пример 2. Сбор записи производительности для удаленного сеанса PowerShell
$s = New-PSSession -ComputerName Server02 -Credential Domain01\User01
New-MpPerformanceRecording -RecordTo C:\LocalPathOnServer02\trace.etl -Session $s
Приведенная выше команда собирает запись производительности на сервере Server02 (как указано в аргументе $s параметра Session) и сохраняет ее по указанному пути: C:\LocalPathOnServer02\trace.etl на сервере Server02.
Параметры: New-MpPerformanceRecording
-RecordTo
Указывает расположение для сохранения записи производительности Microsoft Defender Защиты от вредоносных программ.
Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Сессии
Указывает объект PSSession, в котором создается и сохраняется запись производительности Microsoft Defender антивирусной программы. При использовании этого параметра параметр RecordTo ссылается на локальный путь на удаленном компьютере. Доступно с платформой Defender версии 4.18.2201.10.
Type: PSSession[]
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Get-MpPerformanceReport
В следующем разделе описывается командлет PowerShell Get-MpPerformanceReport. Анализирует и сообщает о записи производительности антивирусной программы Microsoft Defender.
Синтаксис: 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]
Описание: Get-MpPerformanceReport
Командлет Get-MpPerformanceReport
анализирует ранее собранный Microsoft Defender записи производительности антивирусной программы (New-MpPerformanceRecording) и сообщает о путях к файлам, расширениях файлов и процессах, которые оказывают наибольшее влияние на Microsoft Defender проверки антивирусной программы.
Анализатор производительности предоставляет аналитические сведения о проблемных файлах, которые могут привести к снижению производительности Microsoft Defender антивирусной программы. Это средство предоставляется как "AS IS" и не предназначено для предоставления предложений по исключениям. Исключения могут снизить уровень защиты конечных точек. Исключения, если таковые есть, следует определять с осторожностью.
Дополнительные сведения об анализаторе производительности см. в документации по Анализатор производительности.
Поддерживаемые версии ОС:
Windows версии 10 и более поздних.
Примечание.
Эта функция доступна начиная с версии платформы 4.18.2108.X и более поздних версий.
Примеры: Get-MpPerformanceReport
Пример 1. Один запрос
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 20
Пример 2. Несколько запросов
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10
Пример 3. Вложенные запросы
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopProcesses 10 -TopExtensionsPerProcess 3 -TopScansPerExtensionPerProcess 3
Пример 4. Использование параметра -MinDuration
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 100 -MinDuration 100ms
Пример 5. Использование параметра -Raw
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10 -Raw | ConvertTo-Json
Использование -Raw в приведенной выше команде указывает, что выходные данные должны быть машиночитаемыми и легко преобразуемыми в формат сериализации, например JSON.
Параметры: Get-MpPerformanceReport
-TopPaths
Запрашивает отчет по верхним путям и указывает, сколько верхних путей к выходным данным отсортировано по длительности. Агрегирует проверки на основе пути и каталога. Пользователь может указать, сколько каталогов должно отображаться на каждом уровне и глубину выделения.
- Type: Int32
- Position: Named
- Default value: None
- Accept pipeline input: False
- Accept wildcard characters: False
-TopPathsDepth
Задает рекурсивную глубину, которая используется для группировки и отображения агрегированных результатов пути. Например, "C:" соответствует глубине 1, "C:\Users\Foo" соответствует глубине 3.
Этот флаг может сопровождать все остальные параметры верхнего пути. Если этот параметр отсутствует, предполагается значение по умолчанию 3. Значение не может быть равным 0.
- Type: Int32
- Position: Named
- Default value: 3
- Accept pipeline input: False
- Accept wildcard characters: False
flag | Определение |
---|---|
-TopScansPerPath | Указывает, сколько верхних сканирований необходимо указать для каждого верхнего пути. |
-TopFilesPerPath | Указывает, сколько верхних файлов следует указать для каждого верхнего пути. |
-TopScansPerFilePerPath | Указывает, сколько самых верхних проверок будет выводиться для каждого верхнего файла по каждому верхнему пути, отсортированное по длительности. |
-TopExtensionsPerPath | Указывает, сколько верхних расширений будет выводиться для каждого верхнего пути. |
-TopScansPerExtensionPerPath | Указывает, сколько проверок верхнего уровня выводится для каждого верхнего расширения для каждого верхнего пути. |
-TopProcessesPerPath | Указывает, сколько основных процессов необходимо вывести для каждого верхнего пути. |
-TopScansPerProcessPerPath | Указывает, сколько проверок верхнего уровня необходимо вывести для каждого верхнего процесса для каждого верхнего пути. |
-TopPathsPerExtension | Указывает, сколько верхних путей для вывода для каждого верхнего расширения |
-TopScansPerPathPerExtension | Указывает, сколько проверок верхнего уровня выводится для каждого верхнего пути для каждого верхнего расширения. |
-TopPathsPerProcess | Указывает, сколько верхних путей для вывода для каждого верхнего процесса |
-TopScansPerPathPerProcess | Указывает, сколько проверок верхнего уровня необходимо вывести для каждого верхнего пути для каждого верхнего процесса. |
-MinDuration
Указывает минимальную длительность любой проверки или общую длительность сканирования файлов, расширений и процессов, включенных в отчет; принимает такие значения, как 0,1234567sec, 0,1234 мс, 0,1us или допустимый диапазон времени.
Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Путь
Указывает путь или пути к одному или нескольким расположениям.
Type: String
Position: 0
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-Сырой
Указывает, что выходные данные записи производительности должны быть машиночитаемыми и легко преобразуемыми в форматы сериализации, такие как JSON (например, с помощью команды Convert-to-JSON). Эта конфигурация рекомендуется для пользователей, заинтересованных в пакетной обработке с помощью других систем обработки данных.
Type: <SwitchParameter>
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-TopExtensions
Указывает, сколько верхних расширений будет выводиться, отсортированных по длительности.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopExtensionsPerProcess
Указывает, сколько верхних расширений будет выводиться для каждого верхнего процесса, отсортированных по длительности.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFiles
Запрашивает отчет о верхних файлах и указывает, сколько лучших файлов нужно вывести, отсортированных по длительности.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFilesPerExtension
Указывает, сколько лучших файлов будет выводиться для каждого верхнего расширения, отсортированного по длительности.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFilesPerProcess
Указывает, сколько файлов будет выводиться для каждого верхнего процесса, отсортированных по длительности.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcesses
Запрашивает отчет о топ-процессах и указывает, сколько основных процессов для вывода, отсортированных по длительности.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcessesPerExtension
Указывает, сколько основных процессов необходимо вывести для каждого верхнего расширения, отсортированного по длительности.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcessesPerFile
Указывает, сколько основных процессов необходимо вывести для каждого файла верхнего уровня, отсортированного по длительности.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScans
Запрашивает отчет о проверке сверху и указывает, сколько результатов сканирования в верхней части выводится, отсортировано по длительности.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerExtension
Указывает, сколько лучших проверок будет выводиться для каждого верхнего расширения, отсортированного по длительности.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerExtensionPerProcess
Указывает, сколько основных проверок выводится для каждого верхнего расширения для каждого верхнего процесса, отсортированного по длительности.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFile
Указывает, сколько отсортированных по длительности сканирований для каждого файла верхнего уровня.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFilePerExtension
Указывает, сколько проверок верхнего уровня выводится для каждого верхнего файла для каждого верхнего расширения, отсортированного по длительности.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFilePerProcess
Указывает, сколько самых верхних сканирует выходные данные для каждого верхнего файла для каждого верхнего процесса, отсортированного по длительности.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcess
Указывает, сколько основных проверок будет выводиться для каждого верхнего процесса в отчете "Основные процессы" с сортировкой по длительности.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcessPerExtension
Указывает, сколько основных проверок для вывода для каждого верхнего процесса для каждого верхнего расширения, отсортированных по длительности.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcessPerFile
Указывает, сколько основных проверок для вывода для каждого верхнего процесса для каждого верхнего файла с сортировкой по длительности.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Дополнительные ресурсы
Если вы ищете информацию, связанную с антивирусной программой, для других платформ, см. следующие статьи:
- Установка параметров Microsoft Defender для конечной точки в macOS
- Microsoft Defender для конечной точки на Mac
- Параметры антивирусной политики macOS для антивирусной программы Microsoft Defender для Intune
- Установите параметры Microsoft Defender для конечной точки в Linux.
- Microsoft Defender для конечной точки в Linux
- Настройка Функций Defender для конечной точки в Android- Настройка Microsoft Defender для конечной точки в функциях iOS
Совет
Хотите узнать больше? Engage с сообществом Microsoft Security в нашем техническом сообществе: Microsoft Defender для конечной точки Техническое сообщество.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по