Как я могу проанализировать проблему с производительностью, которая возникает до или во время входа в систему?
Как я могу проанализировать проблему с производительностью, которая возникает до или во время входа в систему?
Ответы:
Process Monitor - это инструмент, который будет собирать события файловой системы, реестра и сети для всех запущенных процессов. Затем собранные события можно проанализировать, чтобы определить, как система (или приложение) ведет себя внутренне в определенных ситуациях.
В этом случае мы хотим использовать инструмент, чтобы определить, какие события во время процесса загрузки заняли много времени.
Загрузите Process Monitor и запустите его.
В меню « Параметры» установите флажок « Включить ведение журнала загрузки» .
В появившемся диалоговом окне выберите « Создать события профилирования» и нажмите « ОК» .
Перезагрузите систему и скопируйте вашу проблему. После завершения процесса входа в систему запустите Process Monitor.
Process Monitor сообщит вам, что он собрал активность при загрузке, и спросит вас, хотите ли вы сохранить эти данные сейчас. Подтвердите процесс, нажав Да .
Выберите подходящее место для хранения .pml
файла и дождитесь преобразования данных. Как только данные загружены, отобразите столбец Длительность , открыв контекстное меню в одном из заголовков столбцов и нажав Выбрать столбцы ...
... и установив соответствующий флажок в появившемся диалоговом окне.
Создайте новый фильтр, выбрав Filter ... * в меню ** Filter .
Создание фильтра для Продолжительности колонки , где она больше , чем значение 1 , в этом случае запись должна быть включена . Нажмите « Добавить», чтобы добавить фильтр в список и подтвердить выбор нажатием кнопки « ОК» .
На этом этапе в списке событий в Process Monitor будут отображаться только события, выполнение которых заняло более 1 секунды. Вы захотите проверить столбец Длительность на наличие событий, для завершения которых потребовалось много времени.
В демонстрационных целях здесь представлен список событий, выполнение которых заняло более 10 секунд. Это было записано на виртуальной машине для демонстрационных целей.
Хотя эти события не обязательно должны быть виновниками блокирования процесса входа в систему, отключение службы индексирования Windows и Avast Anti-Virus может стоить попробовать в этой установке.
xperf - это инструмент для анализа производительности из Windows Performance Toolkit. Использование этого и возможность анализа собранных данных может быть проблемой. Тем не менее, мы увидим, как собрать необходимые данные и как просмотреть соответствующие разделы.
Обращаем ваше внимание на то, что для этого необходим комплект для оценки и развертывания Windows (ADK), который работает только в Windows 7 и более поздних версиях.
Загрузите Windows ADK и установите хотя бы компонент Windows Performance Toolkit .
После завершения установки откройте командную строку с повышенными правами.
Перейдите в каталог, где вы хотите, чтобы ваш след находился. Понравился рабочий стол.
Рекомендованный способ (в соответствии с использованием XBOOTMGR для захвата медленных загрузок или медленных входов в систему, вызванных медленными загрузками ) для захвата трассировки во время загрузки:
xbootmgr -trace boot -traceflags base+latency+dispatcher -stackwalk profile+cswitch+readythread -notraceflagsinfilename -postbootdelay 10
Система теперь запустит трассировку и перезагрузится.
После перезагрузки следуйте инструкциям на экране. Вам будет предложено разрешить процесс сбора для повышения. После завершения процесса вы найдете полученную трассировку в папке, из которой вы инициировали трассировку.
В моем случае он создал boot_1.etl
(и соответствующий boot_1.cab
) на рабочем столе.
Откройте .etl
файл в анализаторе производительности Windows .
После того, как вы открыли трассировку, вы уже можете видеть возможные признаки того, что ваша проблема связана с оборудованием. Быстрый просмотр обзоров вычислений , хранения и памяти в графическом обозревателе покажет пики, которые следует дополнительно проанализировать.
Для демонстрации рассмотрим график использования по процессам . Чтобы отобразить содержимое, просто дважды щелкните график, чтобы добавить его в представление « Анализ» .
Обратите внимание, что ни один из графиков не показывает никаких пиков. Синие пики в начале относятся к системному процессу и ожидаются в это время.
Другие пики на графике использования ЦП лучше рассмотреть в контексте. Итак, давайте добавим еще один график в представление анализа. График, который мы ищем - это график фаз загрузки , который находится в разделе « Системная активность ».
На скриншоте выше я также добавил график общих событий внизу, чтобы обеспечить дополнительный контекст. Однако здесь следует отметить тот факт, что первый видимый пик использования ЦП был вызван службой Avast. Мы уже заметили в анализе Process Monitor, что этот процесс был одним из процессов, которые занимали большую часть времени в процессе загрузки.
Что мы видим здесь, сейчас мы можем увидеть его в контексте загрузки фаз, является то , что пик произошел после того, как в Winlogon Init фазы (и даже в Post загрузки фазы , которая происходит , когда вы уже можете видеть на рабочем столе). Таким образом, маловероятно, что этот процесс на самом деле вызывает у нас проблему на этапе до того, как мы увидим рабочий стол.
То, что мы будем искать, это события, которые происходят на этапе инициализации Winlogon или вокруг него . Чтобы сделать это проще, вы можете выбрать фазу на графике Boot Phases. Это выделит все записи на всех графиках, которые произошли на этом этапе.
График, на который следует взглянуть лучше, - это, безусловно, граф Services , так как большинство из них запускаются на этапе инициализации Winlogon.
Как я уже говорил во введении, анализ этих данных может быть сложным, если только проблема не возникнет сразу после того, как вы откроете трассировку. Тем не менее, это определенно правильный инструмент для анализа проблемы. В зависимости от ситуации, вы можете даже собирать следы стека, чтобы углубить детали. Этот процесс далеко выходит за рамки этого поста, хотя.