1

Моя машина - Windows 10, и она зависает в течение 2 минут, что действительно разрушительно. Дело в том, что все так медленно, что я не вижу список процессов для дальнейшего изучения.

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

Я использовал prefmon чтобы найти время пиков CPU и памяти. Мне более любопытно найти способ найти хлопотный процесс. Один простой трюк, который я сделал, - это то, что я планировал задание, чтобы каждую минуту выводить вывод tasklist в текстовый файл. Но я мог видеть, что запланированная работа НЕ выполнялась в течение 3-4 минут, когда происходили пики.

1 ответ1

1

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

Вы должны настроить компьютер заранее, чтобы инициализировать сбой с клавиатуры, следуя этой инструкции KBA:

Вам также необходимо настроить компьютер для создания полного дампа. Быстрый Google придумал:

В любом случае, я предполагаю, что в этот момент вы можете получить файл memory.dmp, когда компьютер находился в состоянии зависания, тогда вы можете:

  1. Загрузите Windows SDK , чтобы установить только компонент средств отладки. Это даст вам Windbg то есть C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\windbg.exe

  2. Запустите Windbg и загрузите в файл дампа. "Файл" → "Открыть Crash dump".

  3. Теперь это может быть тяжелым, но если вы хотите просто простое в использовании дерево процессов, вы можете использовать расширение под названием DbgKit. Чтобы использовать его, скопируйте 64-битную DLL в C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\winext\

  4. В Windbg загрузите расширение с помощью следующей команды:

    .load dbgkit
    

    Следующая команда покажет, что она загружена:

    .chain
    
  5. Затем вы можете запустить:

    !dbgkit.ps
    

Это даст вам представление типа дампа Process Explorer, чтобы вы могли видеть, что делали процессы. Извлечение различной информации займет некоторое время, но даст вам то, что вы ищете.

Надеюсь, это будет хорошим началом. Помимо этого, я бы посоветовал просмотреть несколько видеороликов из серии « Инструменты дефрагментации » на 9 канале о том, как отладить дамп памяти для зависания.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .