Для определения драйверов, программ и служб, из-за которых Windows загружается медленно, нужно включить логирование процесса запуска операционной системы. В этой статье мы рассмотрим, как создать лог загрузки Windows и проанализировать медленные процессы с помощью утилиты Process Monitor.
Системная утилита Process Monitor обычно используется для отслеживания в реальном времени активности запущенных процессов, обращений к файлам и реестру. Также ProcMon позволяет включить логирование всех процессов, которые выполняются при загрузке Windows, получить время выполнения каждого процесса и сохранить лог в файл для дальнейшего анализа.
- Скачайте и распакуйте архив с Process Monitor (http://download.sysinternals.com/files/ProcessMonitor.zip);
- Запустите procmon.exeс правами администратора;
- В меню Options выберите пункт Enable Boot Logging;
- Выберите опцию Generate thread profiling events -> Every second. В этом режиме драйвер procmon будет записывать состояние всех процессов каждую секунду.
- Сохраните изменения. ProcMon скопирует драйвер procmon23.sys в каталог
%SystemRoot%\System32\Drivers
и создаст отдельную службу (в ветке HKLM\SYSTEM\CurrentControlSet\Services). Эта служба будет запускаться после запуска Winload.exe и будет записывать в лог активность всех процесс, которые выполняются при загрузке Windows и входе пользователя;Чтобы отключить режим протоколирования загрузки, выполните команду:procmon.exe /noconnect
- Перезагрузите компьютер и дождитесь появления рабочего стола;
- Драйвер procmon23.sys будет писать лог событий до тех пор, пока пользователь вручную не запустит утилиту Process Monitor. После этого режим протоколирования загрузки отключается;
- В окне Process Monitor соглашаемся с предложение сохранить собранные данные в файл bootlog.pml.Примечание. Если не остановить работу Process Monitor, то временный файл журнала %windir%\procmon.pmb со временем может занять все свободное место на системном диске.
- В моем случае размер файла bootlog.pml около 500 Мб. Откройте этот файл в ProcMon;
- Щелкните по заголовку таблицы в окне ProcMon, выберите Select Columns и включите отображение столбца Duration;
- Теперь нужно изменить параметры фильтрации процессов в меню Filter;
- В качестве параметра фильтрации выберите Duration, условие more than и значение 5. Нажмите Add и ОК.
- В списке процессов останутся только те действия, на которых ушло больше 5секунд (5 секунд я выбрал для наглядности);
- Также для анализа процесса загрузки можно воспользоваться функцией в меню Tools -> Process Tree, позволяющей отобразить все процессы в виде графического дерева с информацией о начале, завершении и длительности процесса;
Проанализируйте список процессов при загрузке, соотнесите процессы со службами, программами и драйверами. Чаще всего в этом списке оказываются антивирусы и другое «тяжелое» ПО.
Например, в этом примере при загрузке компьютер был запущен процесс обновления браузера Edge, который занял почти 4 минуты.
Обновление Edge выполняется отдельным заданием планировщика MicrosoftEdgeUpdateTaskMachineCore, которое выполняется при входе каждого пользователя. Если эта проблема возникает часто, можно отложить выполнение задания, добавив задержку в его расписание.
Также вы можете получить информацию об использовании CPU, RAM и дисков процессами при загрузке. Для этого выберите в меню ProcMon опцию Process Activity Summary.
Здесь вы можете отсортировать процессы и найти наиболее прожорливые процессы, которые используют много процессорного времени или памяти при загрузке.
С помощью Network Summary можно отследить медленные сетевые обращения и процессы, которые загружают/отправляют по сети большие порции данных при загрузке Windows. Например, на скриншоте видно, что при запуске компьютеру пришлось получить около 0.5 Мб данных с контроллера домена.
Выполните анализ всех процессов, которые тормозят загрузку Windows (в первую очередь нужно анализировать дочерние процессы Winlogon.exe). На основании полученной информации нужно выполните оптимизацию системы: удалить/обновить проблемные программы или драйвера, отключить некоторые службы или изменить тип их запуска (отложенный запуск или ручной по запросу), убрать программы из автозагрузки и т.д.