Поиск по сайту:

Использование Process Monitor для решения проблем медленной загрузки


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

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

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

  1. Загрузите и распакуйте архив, содержащий Монитор процессов (http://download.sysinternals.com/files/ProcessMonitor.zip).

  2. Запустите procmon.exe с правами администратора.

  3. Выберите Включить ведение журнала загрузки в меню Параметры .

  4. В следующем окне выберите Создавать события профилирования потоков -> Каждую секунду. В этом режиме драйвер procmon будет фиксировать состояние всех процессов каждую секунду.

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

  6. procmon23.sys будет регистрировать все события, пока пользователь не запустит Process Monitor. После этого режим регистрации загрузки отключается.

  7. В окне Process Monitor примите предложение сохранить собранные данные в файл.

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

  1. Выберите каталог, в котором вы хотите сохранить файл, и дождитесь его сохранения. В моем случае в целевой директории появилось три файла: Bootlog .pml, Bootlog-1.pml и Bootlog-2.pml общим размером 700 МБ.

  2. В окне ProcMon щелкните заголовок таблицы, затем нажмите Выбрать столбцы и включите отображение столбца Продолжительность .

  3. Создайте новый фильтр в меню Фильтр.

  4. Выберите Продолжительность в качестве параметра фильтра, более в качестве условия фильтра и укажите значение 10.

  5. Таким образом, в списке процессов у вас будут только те процессы, которые тратят на выполнение некоторых операций более 10 секунд. (Я выбрал 10 секунд, чтобы пример был более наглядным).

  6. Для анализа процесса загрузки вы также можете использовать функцию Инструменты ->Дерево процессов, которая отображает все процессы в виде графического дерева, содержащего информацию о начале, продолжительности и завершении каждого процесса.

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

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

Статьи по данной тематике