Модернизация приложений
Часть 10. Утилита XBootMgr
В предыдущих частях данной статьи мы познакомились с утилитами XPerf и XPerfView, рассмотрели несколько примеров использования утилиты XPerf для нахождения проблем в работе приложений.
Последняя утилита, которую мы рассмотрим в рамках обсуждения Windows Performance Toolkit, — это утилита XBootMgr, позволяющая собирать информацию в процессе загрузки компьютера, его выключения, перехода в режим Standby и выхода из этого режима.
Данные, собираемые этой утилитой, помогут, например, определить процессы, увеличивающие время перехода компьютера из одного состояния в другое, влияющие на корректное завершение работы, и т.п.
Основные команды утилиты XBootMgr показаны в табл. 1.
Рассмотрим несколько примеров использования утилиты XBootMgr. Начнем с простого — получим данные трассировки завершения работы системы и ее перезапуска. Для этого откроем консоль в режиме повышенных привилегий: Start ® All Programs ® Accessories, нажмем правую кнопку мыши на Command Prompt и выберем команду Run as administrator — и выполним следующие команды:
C:\>mkdir c:\boottrace
C:\>cd c:\boottrace
Для начала трассировки и перезапуска системы нужно выполнить команду:
C:\>xbootmgr –trace rebootCycle -noPrepReboot
Обратите внимание на то, что XBootMgr автоматически перезапустит компьютер примерно через 5 с после выполнения приведенной выше команды.
Перед перезагрузкой будет показана диалоговая панель с предупреждением, затем система будет перезагружена.
После перезагрузки и подключения к интерактивной сессии появится диалоговая панель с отсчетом 2-минутной задержки.
Далее потребуется подтвердить повышение привилегий для выполнения утилиты XBootMgr и нажать кнопку Continue для продолжения работы утилиты.
Затем появится диалоговая панель, отражающая ход записи и объединения трассировочной информации.
По завершении процесса мы будем готовы посмотреть результаты работы утилиты.
Для этого перейдем в каталог boottrace и убедимся в том, что он содержит файлы, показанные на рис. 1.
Рис. 1. Результат трассировки процесса загрузки системы
Используя утилиту XPerf, изучим содержимое протокола, выполнив следующую команду:
C:\boottrace>xperf – I boot_BASE+CSWITCH_1.etl –a boot
Для сохранения результатов в файле выполним команду:
C:\boottrace>xperf – I boot_BASE+CSWITCH_1.etl –o boot.xml –a boot
Откроем файл boot.xml в Internet Explorer для того, чтобы посмотреть его содержимое, или используем утилиту XPerfView для графического представления информации (рис. 2 и 3) — для этого выполним команду:
Рис. 2. Отображение результата трассировки в XML-файле
Рис. 3. Графическое отображение результата трассировки
C:\boottrace>xperfview boot_BASE+CSWITCH_1.etl
Обратите внимание на то, что график Process Lifetimes показывает последовательность загрузки компонентов операционной системы: smss.exe, winlogon.exe и т. д. Так что с помощью трассировки загрузки можно изучить, как запускается Windows. Для этих целей также будут полезны графики Winlogon и Services, а для того, чтобы посмотреть событийную модель загрузки, изучите график Generic Events.
Чтобы изучить процесс завершения работы системы, следует использовать второй трассировочный файл — shutdown_BASE+CSWITCH_1.etl.
Рассмотрим основные опции командной строки утилиты XBootMgr — они показаны в табл. 2.
Завершая наш обзор утилиты XBootMgr, отметим, что для начала трассировки можно использовать одну из следующих опций (в зависимости от интересующего этапа — загрузка, гибернация, переход в режим Standby, выключение системы или перезагрузка):
C:\boottrace>xperfview boot | hibernate | standby | shutdown | rebootCycle
а для принудительного завершения трассировки и сбора всех параметров — команду:
C:\boottrace>xperfview -remove
Следующая статья будет посвящена подсистеме Event Tracing For Windows.