У меня есть файловый сервер Windows Server 2012, на котором размещены жесткие диски .vhdx для профилей пользователей для Windows Server 2012 RDS. Каждые несколько секунд загрузка ЦП в системе достигает 100%. Запуск Process Explorer Я вижу, что это вызвано ntoskrnl.exe, в частности частью DeleteDriver в потоках. Есть ли способ глубже погрузиться в это, чтобы выяснить, что его вызывает? Я хочу найти неисправный процесс или драйвер и удалить его с сервера.
Я не совсем понимаю, что вы имеете в виду под «частью DeleteDriver в потоках», но в любом случае вы можете посмотреть на анализатор производительности Windows (WPA). Это в высшей степени мощный инструмент и, по сути, фактически является инструментом, когда дело доходит до диагностики проблем с производительностью на компьютере с Windows.
Во-первых, вы используете Windows Performance Recorder для записи трассировки в системе. Убедитесь, что событие, которое вы хотите наблюдать (необъяснимые всплески ЦП), имеет место во время выполнения трассировки. Убедитесь, что вы собираете метрики, имеющие отношение к вашей проблеме (например, использование ЦП).
По окончании записи остановите трассировку, а затем откройте файл * .etl в анализаторе производительности Windows.
Чтобы получить максимальную отдачу от WPA (и любого инструмента, который вы можете использовать для отладки в Windows), убедитесь, что ваши символы правильно настроены. Символы необходимы для перевода адресов вроде
0x0000313a
в значимые имена, такие как
0x00000313a ntoskrnl!methodA
для мешков с мясом, как ты и я.
Затем откройте вкладку «Анализ» в WPA:
Здесь вы можете развернуть и увидеть очень подробный профиль того, что происходит, включая, помимо прочего, имена файлов драйверов / модулей / sys, которые показывают активность в определенный момент. Вы должны быть в состоянии сразу увидеть, когда на временной шкале происходят скачки вашего процессора, и вы можете довольно хорошо масштабировать свой вид и увеличивать масштаб этих событий.