Мой компьютер очень долго выключается.
Как я могу определить виновника? Я не хочу ждать, пока мой компьютер выключится ...
Есть ли программа, которую я могу использовать, чтобы отследить, сколько времени занимает выключение?
windows
performance
shutdown
wizlog
источник
источник
Ответы:
Windows предоставляет счетчики производительности, а также трассировку событий, которая позволяет приложениям выполнять анализ производительности, чтобы можно было точно определить причину проблем с производительностью. Среди существующих существует один выдающийся инструментарий: Windows Performance Toolkit, доступный в Windows SDK .
В этом инструментарии вы найдете
xbootmgr.exe
, предназначенный для анализа производительности Windows On / Off Transition .Несмотря на то, что вышеупомянутый связанный документ содержит все детали для каждого перехода вкл / выкл, вот общая идея о трассировке и анализе перехода выключения с использованием
xbootmgr
графического интерфейса пользователя xperf:Загрузите Windows SDK, а затем установите Windows Performance Toolkit, используя его.
Откройте командную строку от имени администратора и запустите:
Если вам нужна помощь в будущем, вы можете напечатать,
xbootmgr -help
а такжеxperf /?
.Выполните трассировку перезагрузки следующим образом:
После загрузки он сгенерирует след в течение двух минут.
Трасса была сохранена в
%ProgramFiles%\Microsoft Windows Performance Toolkit
, вы можете перетащить ее,xperf.exe
и она будет открыта в графическом интерфейсе.Вы увидите графический интерфейс с различными графиками, стрелка слева позволяет вам добавлять / удалять графики.
Посмотрите на графики и посмотрите, сможете ли вы найти что-то необычное, вы можете выбрать интервал и увеличить его, если хотите. Щелкните правой кнопкой мыши и уменьшите масштаб, когда вы хотите увидеть все.
Для каждого графика вы можете щелкнуть правой кнопкой мыши, чтобы получить сводные таблицы за текущий выбранный интервал .
В этих таблицах рассортируйте по весу или по времени, чтобы выяснить, на что он тратит больше всего. Обратите внимание, что вы можете перетаскивать столбцы, поэтому, например, таблица ввода / вывода позволяет вам проверить процесс с наибольшим использованием, а также путь с наибольшим использованием.
Разделитель (желтый заголовок столбца) позволяет сделать так, чтобы в столбцах справа от него отображалось общее количество столбцов слева от него. Итак, если у вас сначала есть Путь, а затем Процесс, то вы можете открыть дерево для файла, чтобы увидеть, какие процессы к нему получили доступ, а затем вы получите итоговые значения для этой комбинации процесс / файл.
Вы можете найти больше информации о том, как функционируют графики и таблицы здесь .
Если вам как-то нужно пойти вниз, чтобы посмотреть на следы стека; выполните еще одну загрузочную трассировку и добавьте
-stackWalk profile
параметр, установите _NT_SYMBOL_PATH и щелкните правой кнопкой мыши на любом графике и включите «Загрузка символов». Это позволит вам проверить, какие функции он на самом деле вызывает, хотя в общем вам это не понадобится для завершения работы; но он может позволить такие вещи, как обнаружение того, что ваш брандмауэр мешает вашему отладчику в качестве программиста. Довольно изящно ...Удачи, надеюсь, вы сможете найти виновника. Если нет, то оставьте след, и мы посмотрим на вас ...
Обратите внимание, что DPC - это отложенные вызовы процедур, а прерывания - это программные прерывания , оба они связаны с драйверами / оборудованием.
источник
Мои отключения, где требуется много времени, чтобы бежать. Далее следует мой пример с ответом Тома .
Первый график показывает проблему, дисковый ввод-вывод :
Мое отключение занимает более минуты, и это все ввод-вывод на жестком диске.
На следующем графике « Использование диска» показано, что диск работает почти на 100%:
Последний график показывает использование диска процессами :
Отфильтровывая, я понимаю, что все это вызвано
WinInit.exe
:Щелкнув правой кнопкой мыши по любому графику жесткого диска и выбрав Сводную таблицу , я могу получить подробную информацию о том, к каким файлам был произведен доступ каким процессом:
56,4 секунды моего выключения были потрачены на
WinInit
запись 6,7 ГБ вC:\hiberfil.sys
.Но вопрос в том, почему Windows записывает в мой файл гибернации при завершении работы ?
Затем я вспомнил опцию, которую я включил, чтобы стереть этот файл подкачки при завершении работы:
Поэтому я отключил эту опцию и
xbootmgr
снова запустил . Теперь мое отключение составляет 22 секунды:Теперь
9s
на22s
выключение тратитсяSystem
запись в какой-тоunknown
файл. Это может быть достойно дальнейшего расследования.Но сейчас я решил отключиться за полторы минуты.
я пошел дальше и решил свое медленное отключение 22-х годов. От t =
12s
до t =21s
показал 100% использование диска , но ноль дискового ввода-вывода . Это было непонятно.Пока во время одной остановки я не услышал знакомый звук одного из моих дисков, вращающихся. Выключение было приостановлено на 9 секунд, поскольку Windows пыталась получить доступ к диску, который перешел в спящий режим. Девять секунд спустя привод реагирует, а через мгновение машина выключается.
Странно, что Windows пробуждает диск, чтобы сказать, что пора идти спать.
Это сделало бы мое фактическое отключение 13,5 секунд. Это может стоить большего расследования. Но сейчас я решил отключить меня за 22 секунды.
источник