Как настроить дамп памяти windows 7

Обновлено: 07.07.2024

В этой статье описываются параметры файлов сброса памяти для Windows.

Применяется к: Windows 7 Пакет обновления 1, Windows Server 2012 R2
Исходный номер КБ: 254649

Сводка

Для записи данных об отладке можно настроить следующие операционные системы:

Сведения об отладке могут быть записаны в различные форматы файлов (также известные как файлы сброса памяти), когда компьютер неожиданно останавливается из-за ошибки Stop (также известной как синий экран, сбой системы или проверка ошибки). Вы также можете настроить Windows не записывать данные отладки в файл сброса памяти.

Windows может создать любой из следующих типов файлов сброса памяти:

  • Полная свалка памяти
  • Сброс памяти ядра
  • Небольшая свалка памяти (64 КБ)

Полная свалка памяти

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

Если вы выберете параметр "Полная демпинговая память", необходимо иметь файл paging на томе загрузки, достаточный для удержания всей физической оперативной памяти плюс 1 мегабайт (МБ).

Если следующие условия верны, предыдущий файл перезаписан.

  • Возникает вторая проблема.
  • Создается еще один полный файл сброса памяти (или свалка памяти ядра).
  • В Windows 7 файл paging может быть на разделе, который отличается от раздела, на котором установлена операционная система.
  • В Windows 7 не нужно использовать запись реестра DedicatedDumpFile для того, чтобы поместить файл paging на другой раздел.
  • На компьютерах с 32-битной операционной системой и с 2 гигабайтами (ГБ) или более оперативной памяти недоступна опция "Полная демпинговая память". Дополнительные сведения см. в дополнительных сведениях: Укажите, что происходит при неожиданной остановке системы.

Сброс памяти ядра

Сброс памяти ядра записи только памяти ядра. Это ускоряет процесс записи сведений в журнале, когда компьютер неожиданно останавливается. У вас должен быть достаточно большой pagefile, чтобы вместить память ядра. Для 32-битных систем память ядра обычно составляет от 150 до 2 ГБ.

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

  • Память, выделенная на слой абстракции ядра и оборудования (HAL) в Windows 2000 и более поздней части.
  • Память, выделенная драйверам в режиме ядра и другим программам в режиме ядра.

Для большинства целей этот файл сброса является наиболее полезным. Это меньше, чем полный файл сброса памяти. Но он не передает только те части памяти, которые вряд ли были вовлечены в проблему.

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

  • Возникает вторая проблема.
  • Создается еще один файл сброса памяти ядра (или полный файл сброса памяти).

Небольшая свалка памяти

Небольшая свалка памяти записи наименьший набор полезных сведений, которые могут помочь определить, почему компьютер неожиданно остановился. Этот параметр требует файла paging по крайней мере 2 МБ на том загрузки и указывает, что Windows 2000 и более поздней создать новый файл каждый раз, когда компьютер неожиданно останавливается. История этих файлов хранится в папке.

Этот тип файла сброса включает следующие сведения:

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

Если следующие условия верны, предыдущий файл сохраняется.

  • Возникает вторая проблема.
  • Создается второй небольшой файл сброса памяти.

Каждому дополнительному файлу дается отдельное имя. Дата закодирована в имени файла. Например, Mini022900-01.dmp — это первая свалка памяти, созданная 29 февраля 2000 г. Список всех небольших файлов сброса памяти хранится в %SystemRoot%\Minidump папке.

Настройка типа сброса

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

Поскольку существует несколько версий Windows, на вашем компьютере могут быть другие действия. Если они есть, см. документацию по продуктам для выполнения этих действий.

Необходимо перезапустить Windows, чтобы изменения вступили в силу.

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

Вы можете загружать полные сбросы памяти и сбросы памяти ядра стандартными символическими отладчиками, такими как I386kd.exe. I386kd.exe включена в Windows 2000 поддержка CD-ROM.

Загрузка небольших свалок памяти с помощью Dumpchk.exe. Вы также можете Dumpchk.exe проверку правильности создания файла сброса памяти.

Определения тома

Объем загрузки: том, содержащий Windows и файлы поддержки. Объем загрузки может быть, но не должен быть таким же, как и объем системы.

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

Ниже используется значение реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl .

  • CrashDumpEnabled REG_DWORD 0x0 = None
  • CrashDumpEnabled REG_DWORD 0x1 = Полная свалка памяти
  • CrashDumpEnabled REG_DWORD 0x2 = сброс памяти ядра
  • CrashDumpEnabled REG_DWORD 0x3 = Небольшая свалка памяти (64 КБ)
  • CrashDumpEnabled REG_DWORD 0x7 = автоматическая свалка памяти

Дополнительные значения реестра для CrashControl:

AutoReboot REG_DWORD 0x1

DumpFile REG_EXPAND_SZ %SystemRoot%\Memory.dmp

LogEvent REG_DWORD 0x1

MinidumpDir REG_EXPAND_SZ %SystemRoot%\Minidump

Переописывание REG_DWORD 0x1

SendAlert REG_DWORD 0x1

Необходимо перезапустить Windows, чтобы изменения вступили в силу.

Проверка, чтобы убедиться в том, что файл сброса может быть создан

Дополнительные сведения о настройке компьютера для создания файла сброса для тестирования см. в Windows функции позволяет создавать файл сброса памяти с помощью клавиатуры.

Параметры типа демпинга по умолчанию

  • Windows 7 (Все выпуски): сброс памяти ядра
  • Windows Server 2012 R2 (Все выпуски): Автоматическая память.dmp

Максимальный размер файла для paging

Максимальный размер файла для paging ограничен следующим образом:

Ограничение x86 x64 IA-64
Максимальный размер файла paging 4 гигабайта (без PAE)
16 терабайт (PAE)
16 терабайт 32 терабайта
Максимальное количество файлов для paging 16 16 16
Общий размер файла для paging 64 гигабайта (без PAE)
256 терабайт (PAE)
256 терабайт 512 терабайт

Техническая поддержка x64-версий Windows

Производитель оборудования предоставляет техническую поддержку и помощь для x64-версий Windows. Производитель оборудования обеспечивает поддержку, так как x64-версия Windows была включена с вашим оборудованием. Возможно, производитель оборудования настраивал установку Windows с уникальными компонентами. Уникальные компоненты могут включать определенные драйверы устройств или могут включать необязательные параметры для максимальной производительности оборудования. Корпорация Майкрософт предоставит необходимую помощь, если вам потребуется техническая помощь с помощью x64-версии Windows. Однако вам может потребоваться связаться с производителем напрямую. Ваш производитель лучше всего может поддерживать программное обеспечение, установленное производителем на оборудовании.

Параметры дампа памяти

Главное преимущество “Автоматический дамп памяти” заключается в том, что это позволит сеансу подсистемы в диспетчере процессов автоматически уменьшить файл подкачки до размера, меньшего, чем размер оперативной памяти. Для тех, кто не знает, сессия диспетчера подсистемы отвечает за инициализацию системы, среду запуска служб и процессов, которые необходимы для входа пользователя в систему. Он в основном устанавливает страницу файлов в виртуальную память и запускает процесс winlogon.exe.


Нажмите на кнопку Дополнительные параметры системы.

Здесь вы можете увидеть выпадающее меню, где написано “Дополнительно”.

Здесь вы можете выбрать нужный вариант. Предлагаемые варианты:

Никаких дампов памяти.
Малый дамп памяти.
Дамп памяти ядра.
Полный дамп памяти.
Автоматический дамп памяти. Добавлены в Windows 8.
Активный дамп памяти. Добавили в Windows 10.
Расположение файла дампа памяти в файле %SystemRoot%\MEMORY.DMP.

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

он называется “LastCrashTime”.

Это автоматически увеличит размер файла подкачки. Чтобы уменьшить его, позже, вы можете просто удалить этот ключ.

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

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

Вы можете проанализировать дамп памяти Windows.dmp файлов с помощью WhoCrashed. Утилита WhoCrashed Home бесплатная, в ней представлены драйверы, которые были врезаны в ваш компьютер с помощью одного клика. В большинстве случаев она может определить не исправный драйвер, который причиняют страдания вашему компьютеру. Это краш-дамп анализа системы, дампы памяти и здесь представлена вся собранная информация в доступной форме.

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

WhoCrashed полагается на пакет отладки (программы windbg) от Microsoft. Если этот пакет не установлен, WhoCrashed будет сама скачивать и автоматически извлечёт этот пакет для вас. Просто запустите программу и нажмите на кнопку Анализ. Когда у вас есть WhoCrashed установленный в системе и, если он неожиданно сбрасывает или закрывается, программа даст вам знать, если аварийный дамп включен на вашем компьютере, и она будет предлагать Вам предложения о том, как их включить.

С критическими ошибками «оконной» ОС знаком практически каждый её пользователь, и появляющиеся при этом синие экраны смерти (BSoD) обычно ничего хорошего не предвещают. Они могут быть спровоцированы программными или аппаратными причинами, и поскольку источник неприятности не всегда очевиден, решение начинается с диагностических мероприятий.

Дамп памяти в Windows

Для чего нужен дамп памяти Windows

Содержимое оперативной памяти и материалы, касающиеся сбоя, могут писаться в файл подкачки, при следующем старте операционки создаётся аварийный дамп с информацией об отладке, сформированной на базе сохранённых данных (ОС может создавать memory dump и минуя файл подкачки). В журнале событий будет сделана запись об ошибке, если данная опция настроена.

Дамп 32-х битной операционной системы

Вывод участка дампа 32-х битной ОС Windows с помощью программы Debug.exe

Тип записываемого дампа может задаваться в свойствах ОС, поддерживаются варианты:

  1. Малый дамп памяти. Включает немного сведений, в частности это код ошибки с параметрами, список установленных в Виндовс драйверов и т. д., но этой информации бывает достаточно для выявления источника проблемы. Элемент, как правило, будет записан в каталоге C:\Windows\Minidump.
  2. Дамп памяти ядра. Выполняется сохранение сведений оперативной памяти, связанных только с режимом ядра, исключая информацию, не указывающую на источник появления сбоя.
  3. Полный дамп системы. Содержимым является вся память операционки, что может создать проблемы при создании снимка, если объём ОЗУ составляет более 4Гб. Обычно пишется в файл C:\Windows\MEMORY.DMP.
  4. Автоматический дамп памяти (стал доступным с восьмой версии Виндовс). Содержит те же записи, что и memory dump ядра, при этом отличается способом управления системой размером файла подкачки.
  5. Активный дамп памяти (представлен в «Десятке»). Содержит только активную память хоста из режимов ядра и пользователя* (возможность была изначально реализована для серверов, чтобы при диагностике в дамп не попадали виртуальные машины).

*Дамп пользовательского режима представляет собой дамп определённого процесса. Так, содержимым может являться полная память процесса или фрагмент, список, стек, состояние потоков, списки библиотек, состояние потоков, дескрипторы объектов ядра.

ВАЖНО. При отказе диска или возникновении BSoD на первой стадии запуска системы аварийный дамп создан не будет.

Как включить создание дампа памяти в Windows

Чтобы активировать автоматическое сохранение memory dump в Виндовс, нужно сделать следующее:

  1. Переходим к свойствам системы любым удобным способом. Например, жмём правой кнопкой мыши по значку «Мой компьютер» (или «Этот компьютер» на «Десятке»). Выбираем «Свойства», затем в перечне опций в левой колонке жмём «Дополнительные параметры системы». Альтернативный вариант – использование Панели управления, где следует перейти в раздел «Система» (то же окно появится при использовании клавиш Win+Pause), а затем в «Дополнительные параметры системы». В Виндовс 10 также можно применить оснастку «Параметры»(Win+I). В окне нужно перейти к разделу «Система – «О системе» – «Сведения о системе» и далее в дополнительные параметры ОС.
  2. В открывшемся окне на вкладке «Дополнительно» в области «Загрузка и восстановление» жмём «Параметры».
  3. В итоге манипуляций откроется следующее окно, где следует выбрать тип записи отладочной информации, задать параметры, проставив в нужных пунктах галочки, после чего нажать кнопку «ОК».

Как настроить дамп памяти в Windows

Настройки действий, производимых при аварийной остановке работы ОС, выполняются в том же окне, что и включение создания memory dump («Загрузка и восстановление»), куда мы попадаем из свойств системы.

Здесь можно настроить параметры запуска ОС и назначить определённые действия в случае её отказа, например:

  • указать режим записи дампа со сведениями отладки (по умолчанию выбран автоматический, но может быть выставлено значение «Нет»);
  • записать события в журнал (записи добавляются в логи);
  • отмеченный пункт «Выполнить автоматическую перезагрузку» позволяет системе перезагрузиться после сбоя и продолжить функционировать;
  • при выборе опции «Заменять существующий файл дампа», объект будет подвергаться перезаписи при каждой появляющейся ошибке.

Настройки параметров запуска ОС

При эксплуатации SSD лучше оставить тип записи «Автоматический дамп памяти», но если нужен файл аварийного дампа, лучше выставить «Малый дамп памяти», он самый лёгкий и его несложно переслать другому пользователю, если вам нужна помощь в анализе состояния.

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

Прочитать memory dump можно посредством специализированных утилит, таких как Microsoft Kernel Debugger, BlueScreenView и других.

Установка WinDbg в Windows

Утилита, являющаяся отладчиком для юзермодных приложений и драйверов, позволяет проанализировать снимок памяти и выяснить, что спровоцировало BSoD. Поставляется она в составе пакета SDK для Windows 10, инсталлятор скачивается на сайте Microsoft. Для Семёрки и ранних версий систем WinDbg можно найти в пакете Microsoft Windows SDK for Windows 7 and NET Framework 4.

Анализ аварийного дампа памяти в WinDbg

Перед анализом memory dump необходимо выполнить некоторые настройки. Для работ с софтом понадобится пакет символов отладки Debugging Symbols, загруженный с учётом версии и разрядности системы.

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

Ассоциирование файлов .dmp с WinDbg

Для того чтобы объекты при нажатии на них открывались посредством утилиты:

    В консоли командной строки, запущенной от имени администратора (например, через меню Пуск) выполняем команды (зависимо от разрядности ОС):

cd C:\Progran Files (x86)\Windows Kits\10\Debuggers\x64
exe –IA

cd C:\Progran Files (x86)\Windows Kits\10\Debuggers\x86
exe –IA

Команда для ассоциирования файлов .dmp с WinDbg

Теперь файлы типов .DMP, .HDMP, .MDMP, .KDMP, .WEW будут ассоциироваться с приложением.

Настройка сервера отладочных символов

Отладочные символы, которые генерируются в процессе компиляции приложения вместе с исполняемым файлом, нужны при отладке. Настраиваем WinDbg на извлечение символов из сети:

Анализ memory dump в WinDbg

Чтобы перейти к процедуре, открываем объект в утилите (File – Open Crash Dump) или, если предварительно настраивались ассоциации файлов, открываем элемент щелчком мыши. Утилита начнёт анализировать файл, затем выдаст результат.

Пункт Open Crash Dump

В окне предполагается ввод команд. Запрос «!analyze –v» позволит получить более детальные сведения о сбое (STOP-код, имя ошибки, стек вызовов команд, приведших к проблеме и другие данные), а также рекомендации по исправлению. Для остановки отладчика в меню программы жмём «Debug» – «Stop Debugging».

Запрос «!analyze –v»

Как удалить файлы дампа памяти

Если понадобилось удалить memory dump, это можно выполнить вручную, пройдя по пути месторасположения объекта на диске. Так, в системном каталоге Windows нужно найти и удалить файл MEMORY.DMP, а также элементы в каталоге Minidump. Кроме того, можно использовать штатный инструмент системы «Очистка диска»:

  • вызываем консоль «Выполнить» (Win+R) и вводим команду «Cleanmgr», чтобы перейти к службе;
  • жмём кнопку очищения системных файлов, затем находим и отмечаем в списке строчки, касающиеся memory dump. Если не нашлось, значит, их не создавали.

Команда Cleanmgr

Создание снимков бывает отключено, даже если вы когда-либо активировали эту функцию по причине деятельности специального софта. Если речь о SSD-накопителе, это могут быть программы для работы с твердотельными дисками. Отключение некоторых опций ОС выполняется ими с целью оптимизации работы, поскольку многократные процессы чтения/записи сокращают продолжительность жизни диска. Также причиной отключения дампа памяти могут быть различные программы очистки компьютера и оптимизации системы.

Данная небольшая заметка ставит целью своей показать, каким же образом можно сконфигурировать систему, чтобы получить в своё распоряжение аварийный дамп памяти Windows, то есть дамп, который может быть создан в случае возникновения критического сбоя, характеризующегося появлением синего экрана смерти (BSOD). Что же такое дамп вообще, для чего он нам требуется и что из себя представляет, какие проблемы он призван решить и какую информацию содержит в себе?

Дамп памяти (memory dump) — содержимое рабочей памяти процесса, ядра или всей операционной системы, включающий, помимо рабочих областей, дополнительную информацию о состоянии регистров процессора, содержимом стека и прочие служебные структуры.

Для чего нам может потребоваться данное содержимое, то есть дамп памяти Windows? Пожалуй, наиболее часто дамп памяти используется для изучения причин возникновения системного сбоя (BSOD), который явился причиной полного останова операционной системы. В дополнение к этому, состояние памяти может использоваться и для других целей. Немаловажен и тот факт, что дамп памяти - это буквально единственный способ получения информации о любом сбое! А снятие (получение) дампа памяти системы - это, фактически, единственный точный метод получения мгновенного отпечатка (копии) содержимого физической памяти системы.

Чем точнее содержимое дампа будет отражать состояние памяти в момент сбоя, тем подробнее мы сможем проанализировать аварийную ситуацию. Поэтому крайне важно получить именно актуальную копию физической памяти системы в строго определенный момент времени, непосредственно предшествующий сбою. А единственный способ сделать это - создать полный аварийный дамп памяти. Причина достаточно тривиальна - когда происходит создание аварийного дампа памяти системы, в результате ли сбоя, либо в следствии искусственно смоделированной ситуации, система в этот момент получения управления аварийными функциями ( KeBugCheckEx ) пребывает в абсолютно неизменном (статичном) состоянии, поэтому между моментом возникновения сбоя и моментом окончания записи данных на носитель ничто не изменяет содержимое физической памяти, и она в оригинальном состоянии записывается на диск. Ну это в теории, а в жизни изредка, но встречаются ситуации, что по причине неисправных аппаратных компонентов, сам дамп памяти может быть поврежден, или в процессе записи дампа станция может подвиснуть.

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

Теоретически, статичность (неизменность) "отпечатка" памяти объясняется тем, что когда вызывается функция KeBugCheckEx , выводящая на экран информацию о сбое и стартующая процесс создания дампа памяти, система уже полностью остановлена и содержимое физической памяти записано в блоки, занимаемые на диске файлом подкачки, после чего, уже в процессе последующей загрузки операционной системы оно сбрасывается в файл на системном носителе. Ну а практически один раз наблюдал ситуацию, когда сбоящая материнская плата не давала сохранить дамп памяти: а) подвисая в процессе работы логики сохранения дампа (процесс не доходил до 100%), б) повреждая файл дампа памяти (отладчик ругался на структуры), в) записывая файлы дампов memory.dmp нулевой длины. Поэтому, не смотря на то, что система в момент создания дампа памяти уже полностью остановлена, и работает только аварийный код, сбойное железо может вносить свои коррективы в любую без исключения логику на любом этапе функционирования.
Традиционно, на начальном этапе для сохранения дампа памяти Windows используются блоки диска, выделенные файлу подкачки (pagefile). Затем, после возникновения синего экрана и перезагрузки, данные перемещаются в отдельный файл, а затем файл переименовывается по шаблону, зависящему от типа дампа. Однако, начиная с версии Windows Vista, подобное положение вещей возможно изменить, теперь пользователю дана возможность сохранять выделенный дамп без участия файла подкачки, помещая информацию о сбое во временный файл. Сделано это для того, чтобы исключить ошибки конфигурации, связанные с неправильной настройкой размера и положения файла подкачки, что зачастую приводило к проблемам в процессе сохранения дампа памяти.
Давайте посмотрим, какие же разновидности дампов позволяет нам создавать операционная система Windows:

  • Дамп памяти процесса (приложения);
  • Дамп памяти ядра;
  • Полный дамп памяти (дамп доступной части физической памяти системы).

Все аварийные дампы можно разделить на две основных категории:

  • Аварийные дампы с информацией о возникшем исключении (crash dump). Обычно создаются отладчиком в автоматическом режиме, когда в приложении/ядре возникает [интересующее нас] исключение, в итоге становящееся необрабатываемым (unhandled exception). В этом случае информация об исключении записывается в дамп, что упрощает определение типа исключения и места возникновения при последующем анализе отладчиком в автоматическом/ручном режимах.
  • Аварийные дампы без информации об исключении (hang dump). Обычно создаются пользователем в ручную, когда необходимо создать просто "мгновенный снимок" процесса после наступления какого-либо события (подвис, начал грузить ЦП), для последующего анализа. Анализ этот подразумевает не определение причины исключения (поскольку никакого исключения и не возникало), а анализ совершенно другого рода, например изучение структур данных процесса и прочее.

Конфигурация дампа памяти ядра

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

Давайте непосредственно перейдем к конфигурированию параметров аварийного дампа памяти Windows. Для начала, нам необходимо зайти в окно свойств системы одним и приведенных способов:

  1. Нажать правой кнопкой мыши на значке "Мой Компьютер" - "Свойства" - "Дополнительные параметры системы" - "Дополнительно".
  2. Кнопка "Пуск" - "Панель управления" - "Система" - "Дополнительные параметры системы" - "Дополнительно".
  3. Сочетание клавиш "Windows" + "Pause" - "Дополнительные параметры системы" - "Дополнительно".
  4. Выполнить в командной строке (cmd):
    control system.cpl,,3
  5. Выполнить в командной строке (cmd):
    SystemPropertiesAdvanced

Загрузка и восстановление параметры

Результатом описанных действий является открытие окна "Свойства системы" и выбор вкладки "Дополнительно":

После этого в разделе "Загрузка и восстановление" мы нажимаем выбираем "Параметры" и тем самым открываем новое окно под названием "Загрузка и восстановление":

Настройка дампа памяти Windows

Все параметры аварийного дампа сгруппированы в блоке параметров под названием "Отказ системы". В этом блоке мы можем задать следующие параметры:

  1. Записать события в системный журнал.
  2. Выполнить автоматическую перезагрузку.
  3. Запись отладочной информации.
  4. Файл дампа.
  5. Заменять существующий файл дампа.

Как видите, многие параметры из списка достаточно тривиальны и просты в понимании. Однако, я бы хотел подробнее остановиться на параметре "Файл дампа". Параметр представлен в виде ниспадающего списка, и имеет четыре возможных значения:

Малый дамп памяти (Small memory dump)

Малый дамп памяти (минидамп, minidump) - это файл, который содержит наименьший объем информации о сбое. Самый маленький из всех возможных дампов памяти. Не смотря на очевидные минусы, зачастую именно минидампы используются в качестве информации о сбое для передачи поставщику сторонних драйверов с целью последующего изучения.
Состав:

Размещение: %SystemRoot%\Minidump\MMDDYY-XXXXX-NN.dmp . Где MMDDYY - месяц, день и год соответственно, NN - порядковый номер дампа.
Объем: Размер зависит от разрядности операционной системы: требуется всего-то 128 килобайт для 32-разрядной и 256 килобайт для 64-разрядной ОС в файле подкачки (либо в файле, указанном в DedicatedDumpFile). Поскольку выставить столь малый размер мы не сможем, то округляем до 1 мегабайта.

Дамп памяти ядра (Kernel memory dump)

Данный тип дампа содержит копию всей памяти ядра на момент сбоя.
Состав:

В дампе памяти ядра отсутствуют нераспределенные страницы памяти и страницы пользовательского режима. Согласитесь, ведь маловероятно, что страницы процесса пользовательского режима будут нам интересны при системном сбое (BugCheck), поскольку обычно системный сбой инициируется кодом режима ядра.
Размещение: %SystemRoot%\MEMORY.DMP . Предыдущий дамп перезаписывается.
Объем: Варьируется в зависимости от размера адресного пространства ядра, выделенной операционной системой и количества драйверов режима ядра. Обычно, требуется около трети объема физической памяти в файле подкачки (либо в файле, указанном в DedicatedDumpFile). Может варьироваться.

Полный дамп памяти (Complete memory dump)

Полный дамп памяти содержит копию всей физической памяти (ОЗУ, RAM) в момент сбоя. Соответственно, в файл попадает и все содержимое памяти системы. Это одновременно преимущество и главный недостаток, поскольку размер его на некоторых серверах с большим объемом ОЗУ может оказаться существенным.
Состав:

В полный дамп памяти не включаются, по-умолчанию, области физической памяти, используемой BIOS.
Размещение: %SystemRoot%\MEMORY.DMP . Предыдущий дамп перезаписывается.
Объем: В файле подкачки (либо в файле, указанном в DedicatedDumpFile) требуется объем, равный размеру физической памяти + 257 мегабайт (эти 257 Мб делятся на некий заголовок + данные драйверов). На деле же, в некоторых ОС, нижний порог файла подкачки можно выставить точно в значение размера физической памяти.

Автоматический дамп памяти (Automatic memory dump)

Начиная с Windows 8/Windows Server 2012, в систему введен новый тип дампа под названием "Автоматический дамп памяти", который устанавливается типом по умолчанию. В этом случае система сама решает, какой дамп памяти записать в ситуации того или иного сбоя. Причем логика выбора зависит от многих критериев, в том числе от частоты "падения" операционной системы.

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

Параметры реестра

Раздел реестра, который определяет параметры аварийного дампа:

Параметр Тип Описание
AutoReboot REG_DWORD Включение/отключение автоматической перезагрузки при возникновении BSOD.
CrashDumpEnabled REG_DWORD Вид создаваемого дампа.
  • 0 - не создавать дамп памяти;
  • 1 - полный дамп памяти;
  • 2 - дамп памяти ядра;
  • 3 - малый дамп памяти;

Ручное создание дампа памяти

Выше мы описывали настройки для автоматического создания аварийных дампов системы в случае возникновения критической ошибки, то есть необрабатываемого исключения в коде ядра. Но ведь в реальной жизни, помимо падения операционной системы, существуют ситуации, когда необходимо получить дамп памяти системы в конкретный момент времени. Как быть в этом случае? Существуют методы получения мгновенной копии всей физической памяти, например с помощью команды .dump в отладчиках WinDbg/LiveKD. LiveKD - программа, позволяющая запускать отладчик ядра Kd в функционирующей системе в локальном режиме. В отладчике WinDbg тоже имеется подобная возможность. Однако метод получения дампа "на лету" не точен, поскольку дамп создается в этом случае "противоречивый", так как для создания дампа требуется время, а в случае использования отладчика режима ядра система продолжает работать и вносить изменения в страницы памяти.

Файлы настроек реестра

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

Что такое дамп памяти Windows 7 и какие существуют его виды? Зачем он системе и нужно ли его изменять? Как просмотреть и изменить его параметры?

Дамп памяти Windows 7

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

Дамп памяти может содержать:

  • значения регистров процессора;
  • контекст ядра для процесса (EPROCESS) и для потока (ETHREAD);
  • содержимое стека;
  • список рабочих драйверов.

Это своеобразный «черный ящик» системы. Когда она рушится, разработчик может найти в нем причины критической ошибки. На примере Windows 7, когда вы видите «синий экран смерти» (BSOD), система в этот момент быстро записывает все данные, которые в идеале должны быть отправлены разработчикам для решения проблемы.

Есть три вида дампа, которые может писать система:

  • малый - записывает минимальный объем самой важной информации о проблеме. Для него необходимо выделить 2 Мб файла подкачки;
  • дамп ядра - записывает память выделенную для ядра, от чего запись данных в журнал очень быстрая. Он не включает в себя данные пользовательских программ – только память ядра, драйверов режима ядра и память аппаратно-зависимого уровня. Чаще всего именно такой дамп установлен. Размер файла подкачки должен равняться одной трети оперативной памяти компьютера. Т. е. если ОЗУ 2 Гб, то файл подкачки – как минимум 700 Мб;
  • полный - во время критической ошибки записывает все содержимое оперативной памяти. Файл подкачки должен равняться объему ОЗУ, плюс 1 Гб сверху.

Если не планируете посылать данные об ошибке Microsoft, можете отключить дамп полностью. Если дамп все-таки выставить, на быстродействии системы это никак не скажется, так как запись происходит только после крушения системы. Другими словами, запись занимает несколько секунд, когда система «вылетает» в BSOD, более известный как «синий экран смерти».

Настройка дампа памяти

Если вы все же решили изменить дамп или просто ознакомится с его параметрами, это сделать довольно просто. Заходите в «Панель управления/Система и безопасность/Система/Дополнительные параметры системы».

Откроется окно «Свойства системы», там нас интересует вкладка «Дополнительно». В ней есть пункт «Загрузка и восстановление», возле него кнопка «Параметры».

Настройка дампа памяти

Нажимаете «Настройки» и видите окно параметров дампа: его тип, название, опция замены старого дампа новым и пр.

Читайте также: