16

Как я могу проанализировать проблему с производительностью, которая возникает до или во время входа в систему?

1 ответ1

34

Использование Process Monitor

Process Monitor - это инструмент, который будет собирать события файловой системы, реестра и сети для всех запущенных процессов. Затем собранные события можно проанализировать, чтобы определить, как система (или приложение) ведет себя внутренне в определенных ситуациях.

В этом случае мы хотим использовать инструмент, чтобы определить, какие события во время процесса загрузки заняли много времени.

  1. Загрузите Process Monitor и запустите его.

  2. В меню « Параметры» установите флажок « Включить ведение журнала загрузки».

    Включить протоколирование загрузки

  3. В появившемся диалоговом окне выберите « Создать события профилирования» и нажмите « ОК».

    Генерация событий профилирования

  4. Перезагрузите систему и скопируйте вашу проблему. После завершения процесса входа запустите Process Monitor.

  5. Process Monitor сообщит вам, что он собрал активность при загрузке, и спросит вас, хотите ли вы сохранить эти данные сейчас. Подтвердите процесс, нажав Да.

    Сохранить активность при загрузке

  6. Выберите подходящее место для хранения файла .pml и дождитесь преобразования данных. Как только данные загружены, отобразите столбец Длительность, открыв контекстное меню на одном из заголовков столбцов и нажав Выбрать столбцы ...

    Выберите столбцы ...

    ... и установив соответствующий флажок в появившемся диалоговом окне.

    Длительность чекбокс

  7. Создайте новый фильтр, выбрав Filter ... * в меню ** Filter.

    Меню фильтра

  8. Создание фильтра для столбца Duration, где это больше, чем значение 1, в этом случае запись должна быть включена. Нажмите « Добавить», чтобы добавить фильтр в список, и подтвердите выбор нажатием кнопки « ОК».

  9. На этом этапе в списке событий в Process Monitor будут отображаться только события, выполнение которых заняло более 1 секунды. Вы захотите проверить столбец Длительность на наличие событий, для завершения которых потребовалось много времени.

    В демонстрационных целях здесь представлен список событий, выполнение которых заняло более 10 секунд. Это было записано на виртуальной машине для демонстрационных целей.

    Пример событий
    нажмите, чтобы увеличить

    Хотя эти события не обязательно должны быть виновниками блокирования процесса входа в систему, отключение службы индексирования Windows и Avast Anti-Virus может стоить попробовать в этой установке.

Использование xperf

xperf - это инструмент для анализа производительности из Windows Performance Toolkit. Использование этого и возможность анализа собранных данных может быть проблемой. Тем не менее, мы увидим, как собрать необходимые данные и как просмотреть соответствующие разделы.

Обращаем ваше внимание на то, что комплект средств для развертывания и оценки Windows (ADK), необходимый для этого, работает только в Windows 7 и более поздних версиях.

  1. Загрузите Windows ADK и установите хотя бы компонент Windows Performance Toolkit.

  2. После завершения установки откройте командную строку с повышенными правами.

    Повышенная командная строка

  3. Перейдите в каталог, где вы хотите, чтобы ваш след находился. Понравился рабочий стол.

  4. Рекомендованный способ (в соответствии с использованием XBOOTMGR для захвата медленных загрузок или медленных входов в систему, вызванных медленными загрузками) для захвата трассировки во время загрузки:

    xbootmgr -trace boot -traceflags base+latency+dispatcher -stackwalk profile+cswitch+readythread -notraceflagsinfilename -postbootdelay 10

    Система теперь запустит трассировку и перезагрузится.

  5. После перезагрузки следуйте инструкциям на экране. Вам будет предложено разрешить процесс сбора для повышения. После завершения процесса вы найдете полученную трассировку в папке, из которой вы инициировали трассировку.

    В моем случае он создал boot_1.etl (и соответствующий boot_1.cab) на рабочем столе.

    Откройте файл .etl в Windows Performance Analyzer.

Анализ

После того, как вы открыли трассировку, вы уже можете видеть возможные признаки того, что ваша проблема связана с оборудованием. Беглый взгляд на обзоры вычислений, хранения и памяти в графическом обозревателе покажет пики, которые следует дополнительно проанализировать.

В демонстрационных целях рассмотрим график использования по процессам . Чтобы отобразить содержимое, просто дважды щелкните график, чтобы добавить его в представление « Анализ» .

Обзор анализатора производительности Windows
нажмите, чтобы увеличить

Обратите внимание, что ни один из графиков не показывает каких-либо пиков. Синие пики в начале относятся к системному процессу и ожидаются в это время.

Другие пики на графике использования ЦП лучше рассмотреть в контексте. Итак, давайте добавим еще один график в представление анализа. График, который мы ищем - это график фаз загрузки , который находится в разделе « Системная активность ».

Фазы загрузки
нажмите, чтобы увеличить

На скриншоте выше, я также добавил график общих событий внизу, чтобы обеспечить дополнительный контекст. Однако здесь следует отметить тот факт, что первый видимый пик использования ЦП был вызван службой Avast. Мы уже заметили в анализе Process Monitor, что этот процесс был одним из процессов, которые занимали большую часть времени в процессе загрузки.

То, что мы также видим здесь, теперь, когда мы можем видеть это в контексте фаз загрузки, это то, что пик произошел после фазы инициализации Winlogon (и даже в фазе после загрузки, которая происходит, когда вы уже видите рабочий стол). Таким образом, маловероятно, что этот процесс на самом деле вызывает у нас проблему на этапе до того, как мы увидим рабочий стол.

То, что мы будем искать, это события, которые происходят на этапе инициализации Winlogon или вокруг него. Чтобы сделать это проще, вы можете выбрать фазу на графике Boot Phases. Это выделит все записи на всех графиках, которые произошли на этом этапе.

График, на который следует взглянуть лучше, - это, безусловно, график Сервисов , так как большинство из них запускаются на этапе инициализации Winlogon.

Как я уже говорил во введении, анализ этих данных может быть сложным, если только проблема не возникнет сразу после того, как вы откроете трассировку. Тем не менее, это определенно правильный инструмент для анализа проблемы. В зависимости от ситуации, вы можете даже собирать следы стека, чтобы углубить детали. Этот процесс далеко выходит за рамки этого поста, хотя.

дальнейшее чтение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .