Поделиться через


Расширенное устранение неполадок при зависаниях Windows

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

Примечание.

В этой статье упомянуты программные продукты независимых производителей. Корпорация Майкрософт не дает никаких гарантий, подразумеваемых и прочих, относительно производительности и надежности этих продуктов.

Применимо к: Windows 10

Определение проблемы

  • Какой компьютер зависает? Например, затронутый компьютер является физическим или виртуальным сервером.
  • Какая операция произошла, когда она замерзла? Например, эта проблема возникает при завершении работы.
  • Как часто возникают ошибки? Например, эта проблема возникает каждую ночь в 19:00.
  • На сколько компьютеров происходит эта зависание? Например, все компьютеры или только один компьютер.

Устранение неполадок с замораживанием

Чтобы устранить неполадки с зависанием, проверка текущее состояние компьютера и следуйте одному из следующих методов.

Для компьютера, который по-прежнему работает в замороженном состоянии

Если физический компьютер или виртуальная машина все еще зависает, используйте один или несколько из следующих методов для устранения неполадок:

  • Попробуйте получить доступ к компьютеру через подключение к удаленному рабочему столу.
  • Используйте учетную запись домена или учетную запись локального администратора для входа на компьютер с помощью решения удаленного доступа изготовителя оборудования. Например, dell Remote Access Card (DRAC), HP Integrated Lights-Out (iLo) или IBM Remote Supervisor Adapter (RSA).
  • Проверьте связь с компьютером. Найдите удаленные пакеты и высокую задержку в сети.
  • Получите доступ к общим папкам администратора, например \\ServerName\c$.
  • Нажмите клавиши CTRL+ALT+DELETE и проверка ответ.
  • Попробуйте использовать средства удаленного администрирования Windows. Например, Управление компьютером, диспетчер сервера и Wmimgmt.msc.

Для компьютера, который больше не заморожен

Если физический компьютер или виртуальная машина зависла, но теперь работает в хорошем состоянии, используйте один или несколько из следующих методов для устранения неполадок.

Для физического компьютера

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

    • Журнал событий приложения: ошибка приложения, которая предполагает сбой или соответствующий системный процесс
    • Журналы системных событий, идентификаторы событий ошибок диспетчера управления службами для критически важных системных служб
    • Идентификаторы событий ошибки 2019/2020 с исходным кодом Srv/Server
  • Создайте отчет о диагностике системы, запустив perfmon /report.

Для виртуальной машины

  • Просмотрите журналы системы и приложения с компьютера, на который возникла проблема.
  • Создайте отчет о диагностике системы, запустив perfmon /report.
  • Проверьте журнал системы в средствах мониторинга виртуального управления.

Сбор данных для проблем с замораживанием

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

Тип и состояние компьютера Метод сбора данных
Физический компьютер, работающий в замороженном состоянии Используйте файл дампа памяти для сбора данных. Или используйте метод 2, 3 или 4. Эти методы перечислены далее в этом разделе.
Физический компьютер, который больше не заморожен Используйте метод 1, 2, 3 или 4. Эти методы перечислены далее в этом разделе. Используйте монитор пула для сбора данных.
Виртуальная машина, работающая в замороженном состоянии Hyper-V или VMware. Используйте файл дампа памяти для сбора данных для виртуальной машины, работающей в замороженном состоянии.
XenServer: используйте метод 1, 2, 3 или 4. Эти методы перечислены далее в этом разделе.
Виртуальная машина, которая больше не заморожена Используйте метод 1, 2, 3 или 4. Эти методы перечислены далее в этом разделе.

Способ 1. Дамп памяти

Важно!

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

Полный файл дампа памяти записывает все содержимое системной памяти при неожиданной остановке компьютера. Полный файл дампа памяти может содержать данные из процессов, которые выполнялись при сборе файла дампа памяти.

Если компьютер больше не заморожен и теперь работает в хорошем состоянии, выполните следующие действия, чтобы включить дамп памяти, чтобы получить дамп памяти при повторном возникновении проблемы с зависанием. Если виртуальная машина по-прежнему работает в замороженном состоянии, выполните следующие действия, чтобы включить и собрать дамп памяти.

Примечание.

Если на компьютере включена функция перезапуска, например автоматическая перезагрузка системы (ASR) на компьютерах Compaq, отключите ее. Этот параметр обычно находится в BIOS. Если эта функция включена, если BIOS не обнаруживает пульс из операционной системы, компьютер перезагрузится. Перезапуск может прервать процесс дампа.

  1. Убедитесь, что компьютер настроен для получения полного файла дампа памяти.

    1. Перейдите в раздел Выполнить и введите Sysdm.cpl, а затем нажмите клавишу ВВОД.
    2. В разделе Свойства системы на вкладке Дополнительно выберитеПараметры>производительности>Дополнительно. Выберите Изменить, чтобы проверка или измените виртуальную память.
    3. Назад дополнительныепараметрысвойств>> системы в разделе Запуск и восстановление.
    4. В разделе Запись сведений об отладке выберите Завершить дамп памяти.
    5. Выберите Перезаписать любой существующий файл.
    6. Убедитесь, что на системном диске есть файл подкачки (pagefile.sys), и что он не менее 100 МБ на установленный объем ОЗУ (начальный и максимальный размер).
    7. Убедитесь, что на системном диске больше свободного места, чем на физическом ОЗУ.
  2. Чтобы разрешить системе создавать файл дампа с помощью клавиатуры, включите CrashOnCtrlScroll значение реестра.

    1. Откройте Редактор реестра и найдите следующие разделы реестра:

      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters
    2. Create следующую CrashOnCtrlScroll запись реестра в двух разделах реестра:

      • Имя значения: CrashOnCtrlScroll
      • Тип данных: REG_DWORD
      • Значение: 1
    3. Закройте Редактор реестра и перезагрузите компьютер.

  3. На некоторых физических компьютерах, работающих под управлением более ранних версий Windows, вы можете создать невозможное прерывание (NMI) из функции веб-интерфейса, такой как DRAC, iLo или RSA. Однако по умолчанию этот параметр останавливает работу системы без создания дампа памяти.

    Примечание.

    Для поддерживаемых в настоящее время версий Windows NMICrashDump раздел реестра больше не требуется. NMI вызывает ошибку Stop, которая следует за сбором данных дампа памяти.

  4. Когда на компьютере возникнет проблема, удерживая нажатой клавишу CTRL вправо, нажмите клавишу Scroll Lock два раза, чтобы создать файл дампа памяти.

    Примечание.

    По умолчанию файл дампа находится по следующему пути: %SystemRoot%\MEMORY. DMP.

Метод 2. Проверка работоспособности данных

Используйте служебную программу проверки дампа (Dumpchk.exe) для чтения файла дампа памяти. Он также может убедиться, что файл создан правильно и не поврежден или недопустим.

Узнайте, как использовать Dumpchk.exe для проверка файлов дампа:

Способ 3. Монитор производительности

Вы можете использовать windows Монитор производительности, чтобы проверить, как выполняемые программы влияют на производительность компьютера, как в режиме реального времени, так и путем сбора данных журнала для последующего анализа. Чтобы создать коллекции журналов счетчиков производительности и событий в локальных и удаленных системах, выполните следующие команды в командной строке от имени администратора:

Logman create counter LOGNAME_Long -u DOMAIN\USERNAME * -f bincirc -v mmddhhmm -max 500 -c "\\COMPUTERNAME\LogicalDisk(*)\*" "\\COMPUTERNAME\Memory\*" "\\COMPUTERNAME\Network Interface(*)\*" "\\COMPUTERNAME\Paging File(*)\*" "\\COMPUTERNAME\PhysicalDisk(*)\*" "\\COMPUTERNAME\Process(*)\*" "\\COMPUTERNAME\Redirector\*" "\\COMPUTERNAME\Server\*" "\\COMPUTERNAME\System\*" "\\COMPUTERNAME\Terminal Services\*" "\\COMPUTERNAME\Processor(*)\*" "\\COMPUTERNAME\Cache\*" -si 00:05:00
Logman create counter LOGNAME_Short -u DOMAIN\USERNAME * -f bincirc -v mmddhhmm -max 500 -c "\\COMPUTERNAME\LogicalDisk(*)\*" "\\COMPUTERNAME\Memory\*" "\\COMPUTERNAME\Network Interface(*)\*" "\\COMPUTERNAME\Paging File(*)\*" "\\COMPUTERNAME\PhysicalDisk(*)\*" "\\COMPUTERNAME\Process(*)\*" "\\COMPUTERNAME\Redirector\*" "\\COMPUTERNAME\Server\*" "\\COMPUTERNAME\System\*" "\\COMPUTERNAME\Terminal Services\*" "\\COMPUTERNAME\Processor(*)\*" "\\COMPUTERNAME\Cache\*" -si 00:00:10

Затем можно запустить или остановить журнал, выполнив следующие команды:

logman start LOGNAME_Long / LOGNAME_Short
logman stop LOGNAME_Long / LOGNAME_Short

Журнал Монитор производительности находится по пути C:\PERFLOGS.

Другие методы сбора данных

Использование дампа памяти для сбора данных для физического компьютера, работающего в замороженном состоянии

Предупреждение

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

Если физический компьютер по-прежнему работает в замороженном состоянии, выполните следующие действия, чтобы включить и собрать дамп памяти.

  1. Убедитесь, что компьютер настроен для получения полного файла дампа памяти и что вы можете получить к нему доступ по сети.

    Примечание.

    Если доступ к затронутму компьютеру через сеть невозможен, попробуйте создать файл дампа памяти с помощью NMI. Результат действия может не собрать файл дампа памяти, если некоторые из следующих параметров не заданы.

    1. Попробуйте получить доступ к рабочему столу компьютера любым способом.

      Примечание.

      Если доступ к ОС невозможен, попробуйте удаленно получить доступ к Редактор реестра на компьютере. Затем можно проверка тип файла дампа памяти и файла подкачки, с которыми сейчас настроен компьютер.

    2. На удаленном компьютере, который предпочтительно находится в одной сети и подсети, перейдите в раздел Реестр Редактор>Соединить сетевой реестр. Затем подключитесь к затронутму компьютеру и проверьте следующие параметры:

      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\CrashDumpEnabled

        Убедитесь, что запись реестра CrashDumpEnabled имеет значение 1.

      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\NMICrashDump

        На некоторых физических серверах, если NMICrashDump запись реестра существует и ее значение равно 1, вы можете воспользоваться преимуществами NMI от удаленного поставщика управления, например DRAC, iLo и RSA.

      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles and ExistingPageFiles

        Если значение Pagefile записи реестра управляется системой, размер не будет отражен в реестре. Пример: ?:\pagefile.sys)

        Если файл подкачки настроен, размер будет отражен в реестре, например ?:\pagefile.sys 1024 1124. В этом примере 1024 — это начальный размер, а 1124 — максимальный.

        Примечание.

        Если размер не отображается в реестре, попробуйте получить доступ к административной общей папке, где находится файл подкачки. Например, \\ServerName\C$.

    3. Убедитесь, что на системном диске компьютера есть файл подкачки (pagefile.sys), и он не менее 100 МБ на установленный ОЗУ.

    4. Убедитесь, что на жестких дисках компьютера есть больше свободного места, чем физический ОЗУ.

  2. Включите значение реестра CrashOnCtrlScroll на компьютере, чтобы разрешить системе создавать файл дампа с помощью клавиатуры.

    1. На удаленном компьютере, предпочтительно в одной сети и подсети, перейдите в раздел Реестр Редактор>Соединить сетевой реестр. Подключитесь к затронутму компьютеру и найдите следующие разделы реестра:

      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters
    2. Create следующую CrashOnCtrlScroll запись реестра в двух разделах реестра:

      Имя значения: CrashOnCtrlScroll Тип данных: REG_DWORD Значение: 1

    3. Закройте Редактор реестра и перезагрузите компьютер.

  3. Когда на компьютере возникнет проблема, удерживайте нажатой правую клавишу CTRL и два раза нажмите клавишу Scroll Lock, чтобы создать дамп памяти.

    Примечание.

    По умолчанию файл дампа находится по пути : %SystemRoot%\MEMORY. DMP.

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

Монитор пула показывает количество выделенных и невыполненных байтов выделения по типу пула и тегу, который передается в вызовы ExAllocatePoolWithTag.

Дополнительные сведения см. в разделах Использование PoolMon для поиска утечки памяти Kernel-Mode и Примеры poolMon.

Использование дампа памяти для сбора данных для виртуальной машины, работающей в замороженном состоянии

Используйте один из следующих методов для приложения, в котором запущена виртуальная машина.

Microsoft Hyper-V

Вы также можете использовать встроенную функцию NMI с помощью командлета Debug-VM для отладки и получения дампа памяти.

Чтобы выполнить отладку виртуальных машин в Hyper-V, выполните следующий командлет в Windows PowerShell:

Debug-VM -Name "VM Name" -InjectNonMaskableInterrupt -ComputerName Hostname  

Vmware

Можно использовать моментальные снимки VMware или приостановить состояние и извлечь файл дампа памяти, эквивалентный полному файлу дампа памяти. Используйте средство VMware Checkpoint To Core (vmss2core) для преобразования файлов состояния приостановки (.vmss) и snapshot (.vmsn) в файл дампа. Затем проанализируйте файл с помощью стандартных средств отладки Windows.

Примечание.

При работе с служба поддержки Майкрософт следует использовать средство VMware Checkpoint To Core (vmss2core) для преобразования моментальных снимков VMware в файл дампа перед их отправкой в Корпорацию Майкрософт. Если у вас возникли проблемы с преобразованием snapshot, обратитесь за поддержкой в VMware.

Citrix XenServer

Процесс дампа памяти происходит путем нажатия клавиш CTRL+SCROLL LOCK+Scroll Lock. Дополнительные сведения см. в разделе Метод 1 в разделе Активация дампа памяти с виртуальной машины Windows, работающей на XenServer из Citrix.

Ограничения места на системном диске в Windows Server

В Windows Server может не хватить свободного места на диске для создания полного файла дампа памяти на системном томе.

Существует второй вариант, если на системном диске недостаточно места. Можно использовать DedicatedDumpFile запись реестра. Дополнительные сведения см. в разделе Настройка пути назначения для дампа памяти.

Дополнительные сведения см. в статье Использование значения реестра DedicatedDumpFile для преодоления ограничений места на системном диске.

Заявление об отказе от ответственности за контактные данные сторонней организации

Корпорация Майкрософт предоставляет сторонние контактные данные, чтобы помочь вам найти дополнительные сведения по этой теме. Эти данные могут быть изменены без предварительного уведомления. Корпорация Майкрософт не гарантирует точность контактной информации сторонних поставщиков.

Заявление об отказе от ответственности за сведения о продуктах сторонних производителей

В этой статье упомянуты программные продукты независимых производителей. Корпорация Майкрософт не дает никаких гарантий, подразумеваемых и прочих, относительно производительности и надежности этих продуктов.