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

Windows

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

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

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

  1. Скачайте и распакуйте архив с Process Monitor (http://download.sysinternals.com/files/ProcessMonitor.zip)
  2. Запустите с правами администратора файл procmon.exe
  3. В меню Options выберите пункт Enable Boot Logging
  4. В появившемся окне выберите опцию Generate thread profiling events -> Every second. В этом режиме драйвер procmon будет перехватывать состояние всех процессов каждую секундуДиагностика медленной загрузки Windows с помощью Process Monitor
  5. Перезагрузите компьютер и дождитесь появления рабочего стола
  6. Драйвер procmon23.sys будет записывать все события до тех пор, пока пользователь не запустит утилиту Process Monitor . После этого режим протоколирования загрузки отключается.
  7. В окне Process Monitor соглашаемся с предложение сохранить собранные данные в файл.Диагностика медленной загрузки Windows с помощью Process Monitor

    Примечание. Если не остановить работу Process Monitor, то временный файл журнала %windir%procmon.pmb со временем займет все свободное место на системном диске.

  8. Выберите каталог, в котором нужно сохранить файл и дождётесь его сохранения. В моем случае в целевом каталоге появилось три файла Bootlog .pml, Bootlog-1.pml и Bootlog-2.pml общим размером 700 Мб.
  9. Щелкните по заголовку таблицы в окне ProcMon, выберите Select Columns и включите отображение столбца DurationДиагностика медленной загрузки Windows с помощью Process Monitor

     

  10. Создадим новый фильтр в меню Filter.Диагностика медленной загрузки Windows с помощью Process Monitor
  11. В качестве параметра фильтрации укажем Duration, условие more than и значение 10. Нажмите кнопку Add и ОК.Диагностика медленной загрузки Windows с помощью Process Monitor
  12. Таким образом, в списке процессов окажутся только те процессы, у которых на выполнение некоторых операций ушло больше 10 секунд (10 секунд я выбрал для большей наглядности примера).Диагностика медленной загрузки Windows с помощью Process Monitor
  13. Также для анализа процесса загрузки можно воспользоваться функцией в меню Tools ->Process Tree, позволяющей отобразить все процессы в виде графического дерева с информацией о начале, завершении и длительности процесса.Диагностика медленной загрузки Windows с помощью Process Monitor

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

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

Читайте также:
Ошибка 0x00000057 при установке сетевого принтера в Windows
Оцените статью
( Пока оценок нет )
Поделиться с друзьями
Информационный блог про Windows
Добавить комментарий

  1. Лена

    Никакой воды, как всегда только полезная информация!

    Ответить