Здравствуйте, Вадим!
После прочтения книги об ускорении (а больше об исследовании механизмов) загрузки Windows я был бы рад почитать аналогичную информацию о завершении работы. И вот эта проблема коснулась непосредственно моей системы.
Исходная информация: Windows 7 SP1, регулярно обновляется, установлена на SSD. В последнее время стал замечать, что завершение работы длится больше обычного на 8-10 секунд. Включено подробное отображение этапов завершения работы системы (http://support.microsoft.com/kb/325376/ru). Пауза наступает на самом последнем этапе (завершение работы), то есть уже после остановки всех служб и выгрузки профиля пользователя. Гугление выявило лишь базовые решения подобных ситуаций, которые сводятся к ключам ClearPageFileAtShutdown и WaitToKillServiceTimeout. Однако в первом случае стояло значение 0, а во втором 5000 мс.
Проанализировав события 200 в логах Diagnostics-Perfomance я увидел такие данные (беру последнее событие, делал контрольную перезагрузку перед написанием этого вопроса):
То есть, с виду ничего криминального. Однако с начала этапа «завершение работы» (то есть завершающего этапа) до выключения прошло 12 секунд.
Чистую загрузку системы делал — результат аналогичный. Загрузка прошла быстрее, выключение до надписи Завершение работы тоже (особенно статус Остановка служб), однако итоговое время перевалило за 10 секунд.
В безопасном режиме всё ок, что наводит на мысли, что виноват какой-то компонент системы или драйвер, а не элементы автозагрузки или не родные службы.
Помогите разобраться, пожалуйста.
- Avolation спросил(а) 7 лет назад
- последняя редакция 7 лет назад
- Т.е. вы измерили секундомером и фактическое время (12 с) больше, чем указано в журнале (6.4 с)?
- Я лучше покажу как это выглядит. В этот раз даже гораздо дольше вышло. http://youtu.be/uJvFRSgb0vM P.S.: заметил кстати, что событие 200 часто появляется в журнале далеко не сразу после загрузки системы, хотя потом время события обычно рядом с событием 100. Вот сейчас например его до сих пор нет, хотя с момента загрузки прошло почти 20 минут http://imgur.com/LJirSVn
- Отложенное появление в журнале - нормально, т.к. собранные в ETL сведения обрабатываются в фоне и потом заносятся в журнал.
- Войдите для отправки комментариев
Я действительно не рассматривал выключение в книге, потому что проблем/вопросов о нем было на порядок меньше, чем о загрузке. Поскольку ресурс не предназначен для техподдержки, ниже я перечислю общие подходы к диагностике.
Длительность выключения отражена в событии 200 журнала Diagnostics-Performance (параметр ShutdownTime). Устройства могут отключаться дольше системы, и это время уже не попадает в журнал событий.
Проблемы, касающиеся электропитания, нередко связаны с устройствами и их драйверами. Поэтому диагностика ведется по двум направлениями (программному и аппаратному) в три этапа — от простого к более сложному / трудоемкому.
1. Простая диагностика
Программная
- Убедитесь, что не установлено ClearPageFileAtShutdown
- Отключите сетевые диски, если имеются
- Исключите из уравнения сторонние программы и службы
Аппаратная
Отключите от компьютера
- все устройства USB
- сетевой кабель
- внешний кард-ридер / карты памяти
Если при отключении устройств проблема исчезает, подключайте их по одному, чтобы выявить проблемное.
2. Обновление драйверов и ОС
Первые два пункта я настоятельно советую для современных мобильных ПК
- UEFI/BIOS
- Драйвер чипсета
- Прочие драйверы
- Обновления Windows
3. Сложная диагностика
Программная
С помощью ADK можно отследить выключение ПК и выявить процесс, тормозящий загрузку, сон, гибернацию и выключение ПК.
Создайте отчет о выключении:
xbootmgr -trace shutdown -noPrepReboot -traceFlags BASE+CSWITCH+DRIVERS+POWER -resultPath C:\Trace
и проанализируйте его в WPA, опираясь на информацию об этапах выключения в документации Microsoft. Похожая диагностика загрузки ОС рассматривается в моей книге.
Аппаратная
По возможности отключите:
- оптические и жесткие диски (кроме системного и загрузочного)
- видео (если есть встроенное)
- аудиo
Если совсем ничего не помогает, следует создать тему на OSZone, в форуме, соответствующем ОС, и подробно изложить проблему, сопроводив отчетом о проделанной работе, собранными сведениями и конфигурацией ПК.
Рекомендуемые материалы
- Windows On/Off Transition Performance Analysis (EN) (описание этапов загрузки и выключения ПК)
- Этапы загрузки Windows под микроскопом Windows Performance Toolkit (основано на официальной документации ↑)
-
Как определить, является проблема системной или вызвана сторонним приложением/службой
- Vadim Sterkin ответил(а) 7 лет назад
- последняя редакция 7 лет назад
- Большое спасибо за развёрнутый и основательный ответ! С помощью ADK выяснил, что служба WcesComm (Возможности подключения устройств на платформе Windows Mobile-2003) при выключении не отвечала и висела пока не срабатывало WaitToKillServiceTimeout, то есть лишние 5 секунд. За что и была безжалостно прибита. Однако результаты трассировки упорно показывали, что выключение длится не больше восьми секунд, как и в событиях 200, в то время как на видео было хорошо видно как дело обстояло на самом деле. Тогда я перешёл к стадии аппаратной диагностики. Решил начать с отключения всех USB устройств, коих довольно немало, и сетевого кабеля. И это помогло! Жаль не выявил конкретного виновника, ибо штекеры почти все одинаковые. Склоняюсь к тому, что какому-то устройству не нравилось находиться в порту USB 3.0. В итоге сделал ещё одну трассировку, она показывает такие результаты: http://i.imgur.com/8r8txC5.jpg На глаз примерно так и есть, чему я рад. Спасибо большое, сэнсэй!
- Спасибо за отчет! В общем, вы сами разобрались. Я добавил в список устройства USB в явном виде (они настолько привычны, что можно забыть об их существовании :)
- Войдите для отправки комментариев
Сначала войдите.