Диагностика медленной загрузки Windows с помощью Process Monitor

Для диагностики причин медленной загрузки ОС Windows существует ряд довольно мощных утилит и методик анализа журналов событий, позволяющих выполнить детальную отладку всех этапов процесса загрузки системы и запуска служб (xperf/xbootmgr из Windows Performance Toolkit / Analyzer). Но их использование  может вызвать ряд трудностей, особенно для начинающего системного администратора. В этой статье мы покажем, как с помощью Process Monitor можно довольно просто и быстро определить, какие программы, службы и драйвера долго выполняются при старте системы, увеличивая тем самым общее время загрузки для пользователя.

Безусловно,  всем системным администраторам Windows,  должна быть знакома утилита Process Monitor из комплекта системных утилит Sysinternals. Утилита Process Monitor позволяет в реальном времени отслеживать активность запущенных процессов, обращения к файловой системе и реестру. Одной из малоизвестной функцией Process Monitor является возможность включения режима мониторинга процессов запускаемых во время загрузки Windows.

Для диагностики этапа загрузки, Process Monitor создает отдельную службу в разделе   реестра HKLM\SYSTEM\CurrentControlSet\Services. Данная служба загружает драйвер режима загрузки procmon23.sys, стартующий после запуска Winload.exe, который протоколирует активность всех, процессов выполняющихся во время запуска системы и входа пользователя.

  1. Скачайте и распакуйте архив с Process Monitor (http://download.sysinternals.com/files/ProcessMonitor.zip)
  2. Запустите с правами администратора файл procmon.exe
  3. В меню Options выберите пункт Enable Boot LoggingEnable Boot Logging  журналирование загрузки в Process Monitor
  4. В появившемся окне выберите опцию Generate thread profiling events -> Every second. В этом режиме драйвер procmon будет перехватывать состояние всех процессов каждую секундуenerate thread profiling events -/> Every second” width=”361″ height=”178″></strong></li>
<li>Перезагрузите компьютер и дождитесь появления рабочего стола</li>
<li>Драйвер procmon23.sys  будет записывать все события до тех пор, пока пользователь не запустит утилиту  Process Monitor . После этого режим протоколирования загрузки отключается.</li>
<li>В окне Process Monitor соглашаемся с предложение сохранить собранные данные в файл.<strong><img decoding=
    Примечание. Если не остановить работу Process Monitor, то временный файл журнала %windir%\procmon.pmb со временем займет все свободное место на системном диске.
  5. Выберите каталог, в котором нужно сохранить файл и дождётесь его сохранения. В моем случае в целевом каталоге появилось три файла Bootlog .pml, Bootlog-1.pml и Bootlog-2.pml общим размером 700 Мб.
  6. Щелкните по заголовку таблицы в окне ProcMon, выберите Select Columns и включите отображение столбца DurationДобавить столбец (Duration ) длительность в ProcMon
  7. Создадим новый фильтр в меню Filter.Фильтр событий в Process Monitor
  8. В качестве параметра фильтрации укажем Duration, условие more than и значение 10. Нажмите кнопку Add и ОК.Найти все события, которые длились более 10 секунд
  9. Таким образом, в списке процессов окажутся только те процессы, у которых на выполнение некоторых операций ушло больше 10 секунд (10 секунд я выбрал для большей наглядности примера).procmon bootlog
  10. Также для анализа процесса загрузки можно воспользоваться функцией в меню Tools ->Process Tree, позволяющей отобразить все процессы в виде графического дерева с информацией о начале, завершении и длительности процесса.Дерево процессов Process Monitor

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

Как правило, этот анализ поможет выявить «тормозящие» процессы, засевший в системе троян (в первую очередь нужно анализировать дочерние процессы Winlogon.exe), принять решение о необходимости удалить/обновить проблемное ПО или драйвер устройства, отключить некоторые службы или изменить тип их запуска (отложенный запуск или ручной по запросу), убрать программы из автозагрузки. Чаще всего в этом списке оказываются антивирусы и другое «тяжелое» ПО.

(Пока оценок нет)
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x