Дамп памяти ядра windows 7 что это такое

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

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

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

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

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

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

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

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

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

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

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

Чаще всего аварийный дамп памяти Windows 7, 8, 10 используется в целях диагностики и позволяет выяснить, как исправить критическую ошибку. Проанализировав содержимое, можно понять, что стало причиной неполадки, и приступить к её устранению.

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

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

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

  1. Переходим к свойствам системы любым удобным способом. Например, жмём правой кнопкой мыши по значку «Мой компьютер» (или «Этот компьютер» на «Десятке»). Выбираем «Свойства», затем в перечне опций в левой колонке жмём «Дополнительные параметры системы». Альтернативный вариант – использование Панели управления, где следует перейти в раздел «Система» (то же окно появится при использовании клавиш Win+Pause), а затем в «Дополнительные параметры системы». В Виндовс 10 также можно применить оснастку «Параметры»(Win+I). В окне нужно перейти к разделу «Система – «О системе» – «Сведения о системе» и далее в дополнительные параметры ОС.Дополнительные параметры системы в Windows 10
  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:

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

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

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

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

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

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

    cd C:Progran Files (x86)Windows Kits10Debuggersx64
    exe –IA

  2. Или (для 32-разрядной Виндовс):

    cd C:Progran Files (x86)Windows Kits10Debuggersx86
    exe –IA

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

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

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

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

  • в окне WinDbg жмём «File» и выбираем «Symbol Fie Path…» или жмём Ctrl+S;Пункт «Symbol Fie Path…»
  • указываем путь для загрузки, прописав строчку:

    SRV*%systemroot%symbols*http://msdl.microsoft.com/download/symbols

    Выбор пути загрузки

  • применяем корректировки нажатием «File» – «Save Workspace».

Анализ 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 7 и какие существуют его виды? Зачем он системе и нужно ли его изменять? Как просмотреть и изменить его параметры?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Теоретически, статичность (неизменность) «отпечатка» памяти объясняется тем, что когда вызывается функция KeBugCheckEx, выводящая на экран информацию о сбое и стартующая процесс создания дампа памяти, система уже полностью остановлена и содержимое физической памяти записано в блоки, занимаемые на диске файлом подкачки, после чего, уже в процессе последующей загрузки операционной системы оно сбрасывается в файл на системном носителе.

На практике как-то раз наблюдал ситуацию, когда «сбоящая» материнская плата не давала сохранить дамп памяти:

  1. «наглухо» подвисая в процессе работы логики сохранения дампа (процесс не доходил до 100%);
  2. повреждая файл дампа памяти (впоследствии отладчик ругался на структуры);
  3. записывая файлы дампов (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) — это файл, который содержит наименьший объем информации о сбое. Самый маленький из всех возможных дампов памяти. Не смотря на очевидные минусы, зачастую именно минидампы используются в качестве информации о сбое для передачи поставщику сторонних драйверов с целью последующего изучения.
Состав:

  • Сообщение об ошибке.
  • Значение ошибки.
  • Параметры ошибки.
  • Блок контекста процессора (PRCB), на котором произошел сбой.
  • Сведения о процессе и контекст ядра (EPROCESS) для процесса, являющего причиной сбоя, со всеми его потоками.
  • Сведения о процессе и контекст ядра (ETHREAD) для потока, являющегося причиной сбоя.
  • Стек режима ядра для потока, который явился причиной сбоя.
  • Список загруженных драйверов.

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

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

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

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

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

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

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

  • Все страницы «видимой» физической памяти. Это практически вся память системы, за исключением областей, используемых аппаратной частью: BIOS, пространство PCI и прч.
  • Данные процессов, которые выполнялись в системе в момент сбоя.
  • Страницы физической памяти, которые не отображены на виртуальное адресное пространство, но которые могут помочь в изучении причин сбоя.

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

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

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

«Живой» дамп ядра (Kernel live dump)

Отличительная особенность данного вида дампа это возможность собрать данные о сбое (с целью изучения/устранения причин нештатной ситуации), при этом позволив ОС продолжить работу [без останова]. Иными словами, «живые» дампы не останавливают работу ОС (что приводит к потере данных), но позволяют собрать состояние памяти системы в то время как система продолжает штатное функционирование. Это существенно сокращает время простоя в сравнении с полноценным bugcheck для нефатальных, но сильно влияющих на быстродействие сбоев и зависаний. Чтобы свести к минимуму влияние на производительность, используются специальные алгоритмы копирования памяти, которые позволяют создавать дампы в короткий промежуток времени. «Живой» дамп ядра эффективен для категории проблем, когда какие-то операции начинают тормозить (занимать много времени), при этом технически ничего не выходит из строя. Таймер WATCHDOG может быть инициализирован при запуске операции и если срок действия таймера истекает до завершения [какой-либо] операции (операция занимает более ожидаемого времени), то может быть создан оперативный дамп системы. Затем созданный дамп может быть проанализирован путем обхода стека вызовов и связанной цепочки ожидания [данной операции] с целью выяснения причины столько долгого выполнения.
Состав:

  • Блок KdDebuggerBlock;
  • Список загруженных модулей ядра (библиотек);
  • KiProcessorBlock;
  • Блоки контекста процессора PRCB;
  • Текущий стек [вызовов];
  • Текущую таблицу каталога страниц (PDT);
  • KI_USER_SHARED_DATA;
  • NTOS Kernel Image;
  • HAL Image;
  • Thread / memory state;
  • In-memory logging;
  • Могут содержать страницы процессов пользовательского режима ядра;
  • Могут содержать дополнительную информацию (например: специфические данные USB для сбоев USB);

Размещение: полные «живые» дампы: %SystemRoot%LiveKernelReports*.dmp, «живые» минидампы: %SystemRoot%LiveKernelReports<ИмяКомпонента>*.dmp

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

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

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

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCrashControl

Параметры:

Параметр Тип Описание
AutoReboot REG_DWORD Включение/отключение автоматической перезагрузки при возникновении BSOD.
CrashDumpEnabled REG_DWORD Вид создаваемого дампа.

  • 0 — не создавать дамп памяти;
  • 1 — полный дамп памяти;
  • 2 — дамп памяти ядра;
  • 3 — малый дамп памяти;
DumpFile REG_EXPAND_SZ Путь и название дампа памяти ядра и полного дампа памяти.
DumpFilters REG_MULTI_SZ Драйвер-фильтр в стеке драйверов дампа памяти. Позволяет добавлять новый функционал на этапе создания аварийных дампов. Например, шифрование содержимого дампа. Изменять значение не рекомендуется.
LogEvent REG_DWORD Запись события в системный журнал.
MinidumpDir REG_EZPAND_SZ Путь и название малого дампа памяти.
MinidumpsCount REG_DWORD Максимальное количество малых дампов памяти. При превышении начинают затираться более старые версии.
Overwrite REG_DWORD Заменять существующий файл дампа. Только для дампа памяти ядра и полного дампа памяти.
IgnorePagefileSize REG_DWORD Игнорирует стандартный файл подкачки как место для временного (промежуточного) хранения дампа памяти. Указывает на необходимость записать дамп памяти в отдельный файл. Используется совместно с опцией DedicatedDumpFile.
DedicatedDumpFile REG_EZPAND_SZ Путь и название временного альтернативного файла для записи дампа памяти. Во втором проходе данные все равно будут перемещены в DumpFile/MinidumpDir.

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

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

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

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

Скачать: Малый дамп памяти

Скачать: Дамп памяти ядра

Скачать: Полный дамп памяти

В ОС Windows очень часто случаются ошибки, даже в случае с «чистой» системой. Если обычные ошибки программ решить можно (появляется сообщение о недостающем компоненте), то исправить критические ошибки будет намного сложнее.

Для решения проблем с системой обычно используют аварийный дамп памяти – это снимок части или полного объема оперативной памяти и помещение его на энергонезависимый носитель (жёсткий диск). Другими словами, содержимое оперативной памяти полностью или частично копируется на носитель, и пользователь может провести анализ дампа памяти.

Существует несколько видов дампов памяти:

Малый дамп (Small Memory Dump) – сохраняет минимальный объем ОЗУ, где находятся сведения по критическим ошибкам (BSoD) и компонентах, которые были загружены во время работы системы, например, драйвера, программы. MiniDump хранится по пути C:WindowsMinidump.

Полный дамп (Complete Memory Dump) – сохраняется полный объем ОЗУ. Это значит, что размер файла будет равен объему оперативной памяти. Если места на диске мало, будет проблематично сохранить, например, 32 Гб. Также бывают проблемы с созданием файла дампа памяти более 4 Гб. Данный вид используется очень редко. Храниться по пути C:WindowsMEMORY.DMP.

Дамп памяти ядра – сохраняется только информация, относящаяся к ядру системы.

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

Информация в реестре

Если заглянуть в реестр Windows, то можно обнаружить некоторые полезные параметры снимков. Щелкаем сочетание клавиш Win+R, вводим команду regedit и открываем следующие ветки:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCrashControl

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

  • AutoReboot – активация или отключение перезагрузки после создания синего экрана смерти (BSoD).
  • DumpFile – название видов дампов и расположение.
  • CrashDumpEnabled – номер создаваемого файла, например, число 0 – дамп не создается; 1 – создание полного дампа; 2 – создание дампа ядра; 3 – создание малого дампа.
  • DumpFilters – параметр позволяет добавить новые функции перед созданием снимка. Например, шифрование файла.
  • MinidumpDir – название малого дампа и его расположение.
  • LogEvent – активация записи сведений в системный журнал.
  • MinidumpsCount – задать количество создаваемых малых дампов. (Превышение этого количества будет уничтожать старые файлы и заменять их).
  • Overwrite – функция для полного дампа или системного. При создании нового снимка, предыдущий будет всегда заменяться на новый.
  • DedicatedDumpFile – создание альтернативного файла снимка и указание его пути.
  • IgnorePagefileSize – используется для временного расположения снимка, без использования файла подкачки.

Как это работает

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

Обычно файл сохраняется в выделенном для файла подкачки блоке жёсткого диска, после появления BSoD файл перезаписывается в тот вид, который пользователь сам и настроил (Малый, полный или дамп ядра). Хотя, в современных ОС участие файла подкачки не обязательно.

Как включить дампы

В Windows 7:

  1. Запускаем Мой компьютер и в свободном месте нажимаем правой кнопочкой мышки, выбираем пункт «Свойства».
  2. В открывшемся окошке о системе слева переходим в раздел «Дополнительные параметры системы».Параметры системы
  3. На следующем этапе переходим на вкладку «Дополнительно» и щелкаем по третьей кнопке «Параметры» в области «Загрузка и восстановление».Свойства системы
  4. Настраиваем параметры по вашему желанию. Обязательно должен быть выбран какой-либо тип.Загрузка и восстановление
  5. Нажимаем ОК.

В Windows 8 и 10:

Здесь процесс немного похож, в сведения о системе можно попасть точно также, как в Windows 7. В «Десятке» обязательно открываем «Этот компьютер», нажимаем по свободному месту правой кнопочкой мышки и выбираем «Свойства». По-другому туда можно попасть через Панель управления.

Второй вариант для Windows 10:

  1. Щелкаем клавиши Win+I, открываются параметры ОС.Окно параметров
  2. Переходим в раздел «Система».
  3. Слева в самом низу выбираем подраздел «О системе».
  4. В правой части окна опускаемся в низ и щелкаем по ссылке «Сведения о системе».О системе
  5. Слева выбираем «Дополнительные параметры системы».Свойства системы
  6. Во вкладке «Дополнительно» нажимаем третью кнопку «Параметры».Настройки свойств
  7. Выбираем нужный файлик и жмём ОК.Загрузка и восстановление

Следует заметить, что в новых версиях Windows 10 появились новые пункты, которых не было в «семерке»:

  • Малый дамп памяти 256 КБ – минимальные данные о сбое.
  • Активный дамп – появился в десятой версии системы и сохраняет только активную память компьютера, ядра системы и пользователя. Рекомендуется использовать на серверах.

Как удалить дамп

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

  1. Открываем с помощью комбинации клавиш Win+R окошко «Выполнить» и прописываем команду cleanmgr.
  2. Ищем кнопочку «Очистить системные файлы» и жмём по ней.Очистка диска
  3. Если есть пункт о файлах дампов памяти, выделяем и очищаем.

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

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

Анализ дампа памяти при помощи WinDbg

Скачиваем с официального сайта Microsoft данную программу на шаге 2, где описана «Установка WDK» — https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk.Загрузка программы

Чтобы работать с программой еще понадобиться специальный пакет отладочных символов. Он называется Debugging Symbols, раньше его можно было скачать с сайта Microsoft, но теперь они отказались от этой идеи и придется использовать функцию программы File — «Symbol File Path», куда следует вписать следующую строчку и нажать ОК:

set _NT_SYMBOL_PATH=srv*DownstreamStore*https://msdl.microsoft.com/download/symbols

Если не сработало, пробуем вот эту команду:

SRV*%systemroot%symbols*http://msdl.microsoft.com/download/symbols

Снова нажимаем пункт «File» и выбираем опцию «Save Workspace».

Утилита настроена. Остается указать путь до файлов дампов памяти. Для этого нажимаем File и щелкаем опцию «Open Crash Dump». Расположение всех дампов указано в начале статьи.

После выбора закончится анализ и проблемный компонент автоматически будет выделен. Для получения большего количества информации в этом же окошке можно ввести такую команду: !analyze –vАнализ дампов

Анализ с помощью BlueScreenView

Загрузить инструмент бесплатно можно с этого сайта — http://www.nirsoft.net/utils/blue_screen_view.html. Установка не требует каких-то навыков. Используется только в Windows 7 и выше.

Запускаем и настраиваем. Нажмите «Настройки» (Options) – «Дополнительные параметры» (Advanced Options). Выберите первый пункт «Загружать МиниДампы из этой папки» и указываем каталог — C:WINDOWSMinidump. Хотя можно просто нажать кнопку «По умолчанию». Нажимаем ОК.

В главном окне должны появится файлы дампа. Он может быть, как один, так и несколько. Для его открытия достаточно нажать по нему мышкой.Утилита BlueScreenView

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

Теперь нажимаем «Файл» и выбираем, например, пункт «Найти в Google код ошибки + драйвер». Если нашли нужный драйвер, установите и перезагрузите компьютер. Возможно ошибка исчезнет.

Содержание

  1. Настройка дампа памяти в Windows 10/8/7.
  2. Параметры дампа памяти
  3. Дамп памяти Windows 7
  4. Настройка дампа памяти
  5. Создание ядра или полного аварийного дампа
  6. Настройка файлов страниц
  7. Включить параметр сброса памяти
  8. Советы для создания свалок памяти
  9. Вручную создать файл сброса памяти
  10. Использование средства NotMyFault
  11. Использование NMI
  12. Аварийный дамп памяти Windows
  13. Конфигурация дампа памяти ядра
  14. Малый дамп памяти (Small memory dump)
  15. Дамп памяти ядра (Kernel memory dump)
  16. Полный дамп памяти (Complete memory dump)
  17. Автоматический дамп памяти (Automatic memory dump)
  18. Параметры реестра
  19. Ручное создание дампа памяти
  20. Файлы настроек реестра
  21. Обзор параметров файлов сброса памяти для Windows
  22. Сводка
  23. Полная свалка памяти
  24. Сброс памяти ядра
  25. Небольшая свалка памяти
  26. Настройка типа сброса
  27. Средства для различных типов сброса
  28. Определения тома
  29. Значения реестра для запуска и восстановления
  30. Проверка, чтобы убедиться в том, что файл сброса может быть создан
  31. Параметры типа демпинга по умолчанию
  32. Максимальный размер файла для paging
  33. Техническая поддержка x64-версий Windows

Настройка дампа памяти в Windows 10/8/7.

в Windows 7/8/10 07.09.2017 0 4,950 Просмотров

В Windows 8, Microsoft представила новый дамп памяти – опция автоматического дампа памяти. Этот параметр в операционной системе установлен по умолчанию. В Windows 10 ввели новый тип файла дампа – активный дамп памяти. Для тех, кто не знает, в Windows 7 у нас есть малый дамп, дамп ядра и полный дамп памяти. Вы можете удивиться, почему Microsoft решила создать этот новый параметр дамп памяти? По словам Роберта Симпкинса, старшего инженера поддержки, автоматический дамп памяти, может создать поддержку для страницы “системы” в файле конфигурации.
Система управления конфигурацией файла подкачки отвечает за управление размером файла подкачки – это позволяет избежать излишнего запаса или размера файла подкачки. Эта опция введена в основном для ПК, которые работают на SSD-дисках, которые, как правило, имеют меньший размер, но огромное количество оперативной памяти.

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

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

Если вы хотите изменить параметры автоматического дампа памяти, вот как это можно сделать. Нажмите клавиши Windows + X и выберите – Система. Далее нажмите на кнопку “Дополнительные параметры системы – Advance System Settings”.

advance system settings

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

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

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

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

Если вы используете SSD диск, то лучше оставить его на “Автоматический дамп памяти”; но если вы нуждаетесь в файле аварийного дампа, то лучше установить его на “малый дамп памяти”, с ним вы можете, если вы хотите, отправить его кому-то, чтобы он мог взглянуть на него.

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

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

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

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

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

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

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

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

Источник

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

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

dump pamyati

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

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

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

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

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

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

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

dump2 1

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

Источник

Создание ядра или полного аварийного дампа

Сбой системы (также известный как «проверка ошибки» или «Остановка ошибки») происходит, когда Windows не может работать правильно. Файл сброса, который производится из этого события, называется сбросом сбоя системы.

Ручной файл сброса ядра или полного файла памяти полезен при устранении нескольких проблем, так как процесс записи системной памяти во время сбоя.

Настройка файлов страниц

См. поддержку свалок сбоя системы для требования к размеру файла страницы для сбоя системы.

Включить параметр сброса памяти

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

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

В панели управлениявыберите систему и систему > безопасности.

Выберите параметры расширенных систем, а затем выберите вкладку Advanced.

Убедитесь, что сброс памяти ядра или полная свалка памяти выбраны в статье Writing Debugging Information.

Вы можете изменить путь файла сброса, редактировать поле файла Dump. Другими словами, можно изменить путь с %SystemRoot%Memory.dmp на локальный диск с достаточным диском, например E:Memory.dmp.

Советы для создания свалок памяти

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

В зависимости от скорости жесткого диска, на котором Windows установлена, сброс более 2 гигабайт (ГБ) памяти может занять длительное время. Даже в лучшем случае, если файл сброса настроен для проживания на другом локальном жестком диске, значительное количество данных будет прочитано и записано на жесткие диски. Это может привести к длительному отключению сервера.

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

Вручную создать файл сброса памяти

Использование средства NotMyFault

Если во время проблемы можно войти в систему, можно использовать средство Microsoft Sysinternals NotMyFault. Для этого выполните следующие действия:

Выберите Начните, а затем выберите командную подсказку.

В командной строке запустите следующую команду:

Эта операция создает файл сброса памяти и ошибку остановки D1.

Использование NMI

На некоторых компьютерах нельзя использовать клавиатуру для создания файла аварийного сброса. Например, Hewlett-Packard (HP) BladeSystem из компании Hewlett-Packard разработки управляются с помощью графического пользовательского интерфейса (GUI) на основе браузера. Клавиатура не присоединена к серверу HP BladeSystem.

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

Для этого выполните следующие действия:

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

Этот ключ реестра не требуется для клиентов, работающих Windows 8 и более поздней, или серверов, работающих Windows Server 2012 и более поздней. Настройка этого ключа реестра для более поздних версий Windows не влияет.

В редакторе реестра найдите следующий подкай реестра:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCrashControl

Правой кнопкой мыши CrashControl, указать на Новый, а затем нажмите значение DWORD.

Введите NMICrashDump и нажмите кнопку Ввод.

Щелкните правой кнопкой мыши NMICrashDumpи выберите Изменение.

В поле Значение данных введите 1, а затем выберите ОК.

Поставщики оборудования, такие как HP, IBM и Dell, могут предоставить функцию автоматического восстановления системы (ASR). Эту функцию следует отключить во время устранения неполадок. Например, если функция ASR HP и Compaq включена в BIOS, отключим эту функцию во время устранения неполадок, чтобы создать полный файл Memory.dmp. Для точных действий обратитесь к поставщику оборудования.

Включите переключатель NMI в BIOS или с помощью веб-интерфейса Integrated Lights Out (iLO).

Точные действия см. в справочном руководстве BIOS или обратитесь к поставщику оборудования.

Протестировать этот метод на сервере с помощью коммутатора NMI для создания файла сброса. Вы увидите неисправность 0x00000080 stop.

Если вы хотите запустить NMI в Microsoft Azure с помощью серийной консоли, см. в рубрике Использование серийной консоли для вызовов SysRq и NMI.

Источник

Аварийный дамп памяти Windows

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

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

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

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

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

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

configure memory dump

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

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

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

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

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

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

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

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

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

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

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

Параметр Тип Описание
AutoReboot REG_DWORD Включение/отключение автоматической перезагрузки при возникновении BSOD.
CrashDumpEnabled REG_DWORD Вид создаваемого дампа.

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

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

Источник

Обзор параметров файлов сброса памяти для Windows

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

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

Сводка

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

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

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

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

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

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

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

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

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

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

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

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

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

Небольшая свалка памяти записи наименьший набор полезных сведений, которые могут помочь определить, почему компьютер неожиданно остановился. Этот параметр требует файла 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 и файлы поддержки. Объем загрузки может быть, но не должен быть таким же, как и объем системы.

Том системы. Объем, содержащий файлы, определенные для оборудования, которые необходимо загрузить Windows. Объем системы может быть, но не должен быть таким же, как и объем загрузки. Файлы Boot.ini и Ntbootdd.sys являются примерами файлов, расположенных Ntdetect.com в томе системы.

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

Дополнительные значения реестра для 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 функции позволяет создавать файл сброса памяти с помощью клавиатуры.

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

Максимальный размер файла для 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. Однако вам может потребоваться связаться с производителем напрямую. Ваш производитель лучше всего может поддерживать программное обеспечение, установленное производителем на оборудовании.

Источник

From Wikipedia, the free encyclopedia

In computing, a core dump,[a] memory dump, crash dump, storage dump, system dump, or ABEND dump[1] consists of the recorded state of the working memory of a computer program at a specific time, generally when the program has crashed or otherwise terminated abnormally.[2] In practice, other key pieces of program state are usually dumped at the same time, including the processor registers, which may include the program counter and stack pointer, memory management information, and other processor and operating system flags and information. A snapshot dump (or snap dump) is a memory dump requested by the computer operator or by the running program, after which the program is able to continue. Core dumps are often used to assist in diagnosing and debugging errors in computer programs.

On many operating systems, a fatal exception in a program automatically triggers a core dump. By extension, the phrase «to dump core» has come to mean in many cases, any fatal error, regardless of whether a record of the program memory exists. The term «core dump», «memory dump», or just «dump» has also become jargon to indicate any output of a large amount of raw data for further examination or other purposes.[3][4]

Background[edit]

The name comes from magnetic-core memory,[5] the principal form of random-access memory from the 1950s to the 1970s. The name has remained long after magnetic-core technology became obsolete.

Earliest core dumps were paper printouts[6] of the contents of memory, typically arranged in columns of octal or hexadecimal numbers (a «hex dump»), sometimes accompanied by their interpretations as machine language instructions, text strings, or decimal or floating-point numbers (cf. disassembler).

As memory sizes increased and post-mortem analysis utilities were developed, dumps were written to magnetic media like tape or disk.

Instead of only displaying the contents of the applicable memory, modern operating systems typically generate a file containing an image of the memory belonging to the crashed process, or the memory images of parts of the address space related to that process, along with other information such as the values of processor registers, program counter, system flags, and other information useful in determining the root cause of the crash. These files can be viewed as text, printed, or analysed with specialised tools such as elfdump on Unix and Unix-like systems, objdump and kdump on Linux, IPCS (Interactive Problem Control System) on IBM z/OS,[7] DVF (Dump Viewing Facility) on IBM z/VM,[8] WinDbg on Microsoft Windows, Valgrind, or other debuggers.

In some operating systems[b] an application or operator may request a snapshot of selected storage blocks, rather than all of the storage used by the application or operating system.

Uses[edit]

Core dumps can serve as useful debugging aids in several situations. On early standalone or batch-processing systems, core dumps allowed a user to debug a program without monopolizing the (very expensive) computing facility for debugging; a printout could also be more convenient than debugging using front panel switches and lights.

On shared computers, whether time-sharing, batch processing, or server systems, core dumps allow off-line debugging of the operating system, so that the system can go back into operation immediately.

Core dumps allow a user to save a crash for later or off-site analysis, or comparison with other crashes. For embedded computers, it may be impractical to support debugging on the computer itself, so analysis of a dump may take place on a different computer. Some operating systems such as early versions of Unix did not support attaching debuggers to running processes, so core dumps were necessary to run a debugger on a process’s memory contents.

Core dumps can be used to capture data freed during dynamic memory allocation and may thus be used to retrieve information from a program that is no longer running. In the absence of an interactive debugger, the core dump may be used by an assiduous programmer to determine the error from direct examination.

Snap dumps are sometimes a convenient way for applications to record quick and dirty debugging output.

Analysis[edit]

A core dump generally represents the complete contents of the dumped regions of the address space of the dumped process. Depending on the operating system, the dump may contain few or no data structures to aid interpretation of the memory regions. In these systems, successful interpretation requires that the program or user trying to interpret the dump understands the structure of the program’s memory use.

A debugger can use a symbol table, if one exists, to help the programmer interpret dumps, identifying variables symbolically and displaying source code; if the symbol table is not available, less interpretation of the dump is possible, but there might still be enough possible to determine the cause of the problem. There are also special-purpose tools called dump analyzers to analyze dumps. One popular tool, available on many operating systems, is the GNU binutils’ objdump.

On modern Unix-like operating systems, administrators and programmers can read core dump files using the GNU Binutils Binary File Descriptor library (BFD), and the GNU Debugger (gdb) and objdump that use this library. This library will supply the raw data for a given address in a memory region from a core dump; it does not know anything about variables or data structures in that memory region, so the application using the library to read the core dump will have to determine the addresses of variables and determine the layout of data structures itself, for example by using the symbol table for the program undergoing debugging.

Analysts of crash dumps from Linux systems can use kdump or the Linux Kernel Crash Dump (LKCD).[9]

Core dumps can save the context (state) of a process at a given state for returning to it later. Systems can be made highly available by transferring core between processors, sometimes via core dump files themselves.

Core can also be dumped onto a remote host over a network (which is a security risk).[10]

Core-dump files[edit]

Format[edit]

In older and simpler operating systems, each process had a contiguous address-space, so a dump file was sometimes simply a file with the sequence of bytes, digits,[c] characters[c] or words. On other early machines a dump file contained discrete records, each containing a storage address and the associated contents. On early machines, the dump was often written by a stand-alone dump program rather than by the application or the operating system.

On the IBM System/360, the standard operating systems wrote formatted ABEND and SNAP dumps, with the addresses, registers, storage contents, etc., all converted into printable forms. Later releases added the ability to write unformatted[d] dumps, called at that time core image dumps.

In modern operating systems, a process address space may contain gaps, and it may share pages with other processes or files, so more elaborate representations are used; they may also include other information about the state of the program at the time of the dump.

In Unix-like systems, core dumps generally use the standard executable image-format:

  • a.out in older versions of Unix,
  • ELF in modern Linux, System V, Solaris, and BSD systems,
  • Mach-O in macOS, etc.

Naming[edit]

OS/360 and successors[edit]

  • In OS/360 and successors, a job may assign arbitrary data set names (DSNs) to the ddnames SYSABEND and SYSUDUMP for a formatted ABEND dump and to arbitrary ddnames for SNAP dumps, or define those ddnames as SYSOUT.[e]
  • The Damage Assessment and Repair (DAR) facility added an automatic unformatted[g] dump to the dataset SYS1.DUMP[h] at the time of failure as well as a console dump requested by the operator.
  • The newer transaction dump is very similar to older forms of dumps.

Unix-like[edit]

  • Since Solaris 8, system utility coreadm allows the name and location of core files to be configured.
  • Dumps of user processes are traditionally created as core. On Linux (since versions 2.4.21 and 2.6 of the Linux kernel mainline), a different name can be specified via procfs using the /proc/sys/kernel/core_pattern configuration file; the specified name can also be a template that contains tags substituted by, for example, the executable filename, the process ID, or the reason for the dump.[12]
  • System-wide dumps on modern Unix-like systems often appear as vmcore or vmcore.incomplete.

Others[edit]

  • Systems such as Microsoft Windows, which use filename extensions, may use extension .dmp; for example, core dumps may be named memory.dmp or MinidumpMini051509-01.dmp.

Windows memory dumps[edit]

Microsoft Windows supports two memory dump formats, described below.

Kernel-mode dumps[edit]

There are five types of kernel-mode dumps:[13]

  • Complete memory dump – contains full physical memory for the target system.
  • Kernel memory dump – contains all the memory in use by the kernel at the time of the crash.
  • Small memory dump – contains various info such as the stop code, parameters, list of loaded device drivers, etc.
  • Automatic Memory Dump (Windows 8 and later) – same as Kernel memory dump, but if the paging file is both System Managed and too small to capture the Kernel memory dump, it will automatically increase the paging file to at least the size of RAM for four weeks, then reduce it to the smaller size.[14]
  • Active memory dump (Windows 10 and later) – contains most of the memory in use by the kernel and user mode applications.

To analyze the Windows kernel-mode dumps Debugging Tools for Windows are used.[15]

User-mode memory dumps[edit]

User-mode memory dump, also known as minidump,[16] is a memory dump of a single process. It contains selected data records: full or partial (filtered) process memory; list of the threads with their call stacks and state (such as registers or TEB); information about handles to the kernel objects; list of loaded and unloaded libraries. Full list of options available in MINIDUMP_TYPE enum.[17]

Space missions[edit]

The NASA Voyager program was probably the first craft to routinely utilize the core dump feature in the Deep Space segment. The core dump feature is a mandatory telemetry feature for the Deep Space segment as it has been proven to minimize system diagnostic costs[citation needed]. The Voyager craft uses routine core dumps to spot memory damage from cosmic ray events.

Space Mission core dump systems are mostly based on existing toolkits for the target CPU or subsystem. However, over the duration of a mission the core dump subsystem may be substantially modified or enhanced for the specific needs of the mission.

See also[edit]

  • Database dump
  • Hex dump
  • File copying

References[edit]

  1. ^ «AIX 7.1 information».[permanent dead link]
  2. ^ core(4): Process core file – Solaris 10 File Formats Reference Manual
  3. ^ Cory Janssen. «What is a Database Dump? — Definition from Techopedia». Techopedia.com. Archived from the original on 20 August 2015. Retrieved 29 June 2015.
  4. ^ «How to configure a computer to capture a complete memory dump». sophos.com. 12 July 2010. Archived from the original on 1 July 2015. Retrieved 29 June 2015.
  5. ^ Oxford English Dictionary, s.v. ‘core’
  6. ^ «storage dump definition». Archived from the original on 2013-05-11. Retrieved 2013-04-03.
  7. ^ Rogers, Paul; Carey, David (August 2005). z/OS Diagnostic Data Collection and Analysis (PDF). IBM Corporation. pp. 77–93. ISBN 0738493996. Archived (PDF) from the original on December 21, 2018. Retrieved Jan 29, 2021.
  8. ^ IBM Corporation (October 2008). z/VM and Linux Operations for z/OS System Programmers (PDF). p. 24. Retrieved Jan 25, 2022.
  9. ^ Venkateswaran, Sreekrishnan (2008). Essential Linux device drivers. Prentice Hall open source software development series. Prentice Hall. p. 623. ISBN 978-0-13-239655-4. Archived from the original on 2014-06-26. Retrieved 2010-07-15. Until the advent of kdump, Linux Kernel Crash Dump (LKCD) was the popular mechanism to obtain and analyze dumps.
  10. ^ Fedora Documentation Project (2010). Fedora 13 Security Guide. Fultus Corporation. p. 63. ISBN 978-1-59682-214-6. Archived from the original on 2014-06-26. Retrieved 2010-09-29. Remote memory dump services, like netdump, transmit the contents of memory over the network unencrypted.
  11. ^ «Setting the name-pattern for dump data sets» (PDF). z/OS 2.5 MVS System Commands (PDF). March 25, 2022. pp. 474–475. SA38-0666-50. Retrieved April 6, 2022.
  12. ^ «core(5) – Linux manual page». man7.org. 2015-12-05. Archived from the original on 2013-09-20. Retrieved 2016-04-17.
  13. ^ «Varieties of Kernel-Mode Dump Files». Microsoft. Archived from the original on 22 February 2018. Retrieved 22 February 2018.
  14. ^ «Automatic Memory Dump». Microsoft. 28 November 2017. Archived from the original on 17 March 2018. Retrieved 16 March 2018.
  15. ^ «Getting Started with WinDbg (Kernel-Mode)». Archived from the original on 14 March 2016. Retrieved 30 September 2014.
  16. ^ «Minidump Files». Archived from the original on 27 October 2014. Retrieved 30 September 2014.
  17. ^ «MINIDUMP_TYPE enumeration». Archived from the original on 11 January 2015. Retrieved 30 September 2014.

Notes[edit]

  1. ^ The term core is obsolete on contemporary hardware, but is used on many systems for historical reasons.
  2. ^ E.g., z/OS
  3. ^ a b Some older machines were decimal.
  4. ^ In the sense that the records were binary rather than formatted for printing.
  5. ^ SYStem OUTput files (SYSOUT) files are temporary files owned by the SPOOL software.
  6. ^ Initially the batch utility IMDPRDMP; currently the TSO command and ISPF panel repertoire for Interactive Problem Control System (IPCS).
  7. ^ IBM provided tools for extracting and formatting data from an unformatted dump; those tools[f] often made it easier to deal with an unformatted dump than even a small formatted dump.
  8. ^ Since then, IBM added the ability to have up to a hundred dump datasets named SYS1.DUMPnn (nn from 00 to 99). z/OS supports multiple system dump data sets with arbitrary dsname patterns under installation and operator[11] control.

External links[edit]

Descriptions of the file format

  • core(5) – Linux Programmer’s Manual – File Formats
  • core(4) – Solaris 10 File Formats Reference Manual
  • core(4) – HP-UX 11i File Formats Manual
  • core(5) – FreeBSD File Formats Manual
  • core(5) – OpenBSD File Formats Manual
  • core(5) – NetBSD File Formats Manual
  • core(5) – Darwin and macOS File Formats Manual
  • Minidump files

Kernel core dumps:

  • savecore(1M) – Solaris 10 System Administration Commands Reference Manual
  • Apple Technical Note TN2118: Kernel Core Dumps

From Wikipedia, the free encyclopedia

In computing, a core dump,[a] memory dump, crash dump, storage dump, system dump, or ABEND dump[1] consists of the recorded state of the working memory of a computer program at a specific time, generally when the program has crashed or otherwise terminated abnormally.[2] In practice, other key pieces of program state are usually dumped at the same time, including the processor registers, which may include the program counter and stack pointer, memory management information, and other processor and operating system flags and information. A snapshot dump (or snap dump) is a memory dump requested by the computer operator or by the running program, after which the program is able to continue. Core dumps are often used to assist in diagnosing and debugging errors in computer programs.

On many operating systems, a fatal exception in a program automatically triggers a core dump. By extension, the phrase «to dump core» has come to mean in many cases, any fatal error, regardless of whether a record of the program memory exists. The term «core dump», «memory dump», or just «dump» has also become jargon to indicate any output of a large amount of raw data for further examination or other purposes.[3][4]

Background[edit]

The name comes from magnetic-core memory,[5] the principal form of random-access memory from the 1950s to the 1970s. The name has remained long after magnetic-core technology became obsolete.

Earliest core dumps were paper printouts[6] of the contents of memory, typically arranged in columns of octal or hexadecimal numbers (a «hex dump»), sometimes accompanied by their interpretations as machine language instructions, text strings, or decimal or floating-point numbers (cf. disassembler).

As memory sizes increased and post-mortem analysis utilities were developed, dumps were written to magnetic media like tape or disk.

Instead of only displaying the contents of the applicable memory, modern operating systems typically generate a file containing an image of the memory belonging to the crashed process, or the memory images of parts of the address space related to that process, along with other information such as the values of processor registers, program counter, system flags, and other information useful in determining the root cause of the crash. These files can be viewed as text, printed, or analysed with specialised tools such as elfdump on Unix and Unix-like systems, objdump and kdump on Linux, IPCS (Interactive Problem Control System) on IBM z/OS,[7] DVF (Dump Viewing Facility) on IBM z/VM,[8] WinDbg on Microsoft Windows, Valgrind, or other debuggers.

In some operating systems[b] an application or operator may request a snapshot of selected storage blocks, rather than all of the storage used by the application or operating system.

Uses[edit]

Core dumps can serve as useful debugging aids in several situations. On early standalone or batch-processing systems, core dumps allowed a user to debug a program without monopolizing the (very expensive) computing facility for debugging; a printout could also be more convenient than debugging using front panel switches and lights.

On shared computers, whether time-sharing, batch processing, or server systems, core dumps allow off-line debugging of the operating system, so that the system can go back into operation immediately.

Core dumps allow a user to save a crash for later or off-site analysis, or comparison with other crashes. For embedded computers, it may be impractical to support debugging on the computer itself, so analysis of a dump may take place on a different computer. Some operating systems such as early versions of Unix did not support attaching debuggers to running processes, so core dumps were necessary to run a debugger on a process’s memory contents.

Core dumps can be used to capture data freed during dynamic memory allocation and may thus be used to retrieve information from a program that is no longer running. In the absence of an interactive debugger, the core dump may be used by an assiduous programmer to determine the error from direct examination.

Snap dumps are sometimes a convenient way for applications to record quick and dirty debugging output.

Analysis[edit]

A core dump generally represents the complete contents of the dumped regions of the address space of the dumped process. Depending on the operating system, the dump may contain few or no data structures to aid interpretation of the memory regions. In these systems, successful interpretation requires that the program or user trying to interpret the dump understands the structure of the program’s memory use.

A debugger can use a symbol table, if one exists, to help the programmer interpret dumps, identifying variables symbolically and displaying source code; if the symbol table is not available, less interpretation of the dump is possible, but there might still be enough possible to determine the cause of the problem. There are also special-purpose tools called dump analyzers to analyze dumps. One popular tool, available on many operating systems, is the GNU binutils’ objdump.

On modern Unix-like operating systems, administrators and programmers can read core dump files using the GNU Binutils Binary File Descriptor library (BFD), and the GNU Debugger (gdb) and objdump that use this library. This library will supply the raw data for a given address in a memory region from a core dump; it does not know anything about variables or data structures in that memory region, so the application using the library to read the core dump will have to determine the addresses of variables and determine the layout of data structures itself, for example by using the symbol table for the program undergoing debugging.

Analysts of crash dumps from Linux systems can use kdump or the Linux Kernel Crash Dump (LKCD).[9]

Core dumps can save the context (state) of a process at a given state for returning to it later. Systems can be made highly available by transferring core between processors, sometimes via core dump files themselves.

Core can also be dumped onto a remote host over a network (which is a security risk).[10]

Core-dump files[edit]

Format[edit]

In older and simpler operating systems, each process had a contiguous address-space, so a dump file was sometimes simply a file with the sequence of bytes, digits,[c] characters[c] or words. On other early machines a dump file contained discrete records, each containing a storage address and the associated contents. On early machines, the dump was often written by a stand-alone dump program rather than by the application or the operating system.

On the IBM System/360, the standard operating systems wrote formatted ABEND and SNAP dumps, with the addresses, registers, storage contents, etc., all converted into printable forms. Later releases added the ability to write unformatted[d] dumps, called at that time core image dumps.

In modern operating systems, a process address space may contain gaps, and it may share pages with other processes or files, so more elaborate representations are used; they may also include other information about the state of the program at the time of the dump.

In Unix-like systems, core dumps generally use the standard executable image-format:

  • a.out in older versions of Unix,
  • ELF in modern Linux, System V, Solaris, and BSD systems,
  • Mach-O in macOS, etc.

Naming[edit]

OS/360 and successors[edit]

  • In OS/360 and successors, a job may assign arbitrary data set names (DSNs) to the ddnames SYSABEND and SYSUDUMP for a formatted ABEND dump and to arbitrary ddnames for SNAP dumps, or define those ddnames as SYSOUT.[e]
  • The Damage Assessment and Repair (DAR) facility added an automatic unformatted[g] dump to the dataset SYS1.DUMP[h] at the time of failure as well as a console dump requested by the operator.
  • The newer transaction dump is very similar to older forms of dumps.

Unix-like[edit]

  • Since Solaris 8, system utility coreadm allows the name and location of core files to be configured.
  • Dumps of user processes are traditionally created as core. On Linux (since versions 2.4.21 and 2.6 of the Linux kernel mainline), a different name can be specified via procfs using the /proc/sys/kernel/core_pattern configuration file; the specified name can also be a template that contains tags substituted by, for example, the executable filename, the process ID, or the reason for the dump.[12]
  • System-wide dumps on modern Unix-like systems often appear as vmcore or vmcore.incomplete.

Others[edit]

  • Systems such as Microsoft Windows, which use filename extensions, may use extension .dmp; for example, core dumps may be named memory.dmp or MinidumpMini051509-01.dmp.

Windows memory dumps[edit]

Microsoft Windows supports two memory dump formats, described below.

Kernel-mode dumps[edit]

There are five types of kernel-mode dumps:[13]

  • Complete memory dump – contains full physical memory for the target system.
  • Kernel memory dump – contains all the memory in use by the kernel at the time of the crash.
  • Small memory dump – contains various info such as the stop code, parameters, list of loaded device drivers, etc.
  • Automatic Memory Dump (Windows 8 and later) – same as Kernel memory dump, but if the paging file is both System Managed and too small to capture the Kernel memory dump, it will automatically increase the paging file to at least the size of RAM for four weeks, then reduce it to the smaller size.[14]
  • Active memory dump (Windows 10 and later) – contains most of the memory in use by the kernel and user mode applications.

To analyze the Windows kernel-mode dumps Debugging Tools for Windows are used.[15]

User-mode memory dumps[edit]

User-mode memory dump, also known as minidump,[16] is a memory dump of a single process. It contains selected data records: full or partial (filtered) process memory; list of the threads with their call stacks and state (such as registers or TEB); information about handles to the kernel objects; list of loaded and unloaded libraries. Full list of options available in MINIDUMP_TYPE enum.[17]

Space missions[edit]

The NASA Voyager program was probably the first craft to routinely utilize the core dump feature in the Deep Space segment. The core dump feature is a mandatory telemetry feature for the Deep Space segment as it has been proven to minimize system diagnostic costs[citation needed]. The Voyager craft uses routine core dumps to spot memory damage from cosmic ray events.

Space Mission core dump systems are mostly based on existing toolkits for the target CPU or subsystem. However, over the duration of a mission the core dump subsystem may be substantially modified or enhanced for the specific needs of the mission.

See also[edit]

  • Database dump
  • Hex dump
  • File copying

References[edit]

  1. ^ «AIX 7.1 information».[permanent dead link]
  2. ^ core(4): Process core file – Solaris 10 File Formats Reference Manual
  3. ^ Cory Janssen. «What is a Database Dump? — Definition from Techopedia». Techopedia.com. Archived from the original on 20 August 2015. Retrieved 29 June 2015.
  4. ^ «How to configure a computer to capture a complete memory dump». sophos.com. 12 July 2010. Archived from the original on 1 July 2015. Retrieved 29 June 2015.
  5. ^ Oxford English Dictionary, s.v. ‘core’
  6. ^ «storage dump definition». Archived from the original on 2013-05-11. Retrieved 2013-04-03.
  7. ^ Rogers, Paul; Carey, David (August 2005). z/OS Diagnostic Data Collection and Analysis (PDF). IBM Corporation. pp. 77–93. ISBN 0738493996. Archived (PDF) from the original on December 21, 2018. Retrieved Jan 29, 2021.
  8. ^ IBM Corporation (October 2008). z/VM and Linux Operations for z/OS System Programmers (PDF). p. 24. Retrieved Jan 25, 2022.
  9. ^ Venkateswaran, Sreekrishnan (2008). Essential Linux device drivers. Prentice Hall open source software development series. Prentice Hall. p. 623. ISBN 978-0-13-239655-4. Archived from the original on 2014-06-26. Retrieved 2010-07-15. Until the advent of kdump, Linux Kernel Crash Dump (LKCD) was the popular mechanism to obtain and analyze dumps.
  10. ^ Fedora Documentation Project (2010). Fedora 13 Security Guide. Fultus Corporation. p. 63. ISBN 978-1-59682-214-6. Archived from the original on 2014-06-26. Retrieved 2010-09-29. Remote memory dump services, like netdump, transmit the contents of memory over the network unencrypted.
  11. ^ «Setting the name-pattern for dump data sets» (PDF). z/OS 2.5 MVS System Commands (PDF). March 25, 2022. pp. 474–475. SA38-0666-50. Retrieved April 6, 2022.
  12. ^ «core(5) – Linux manual page». man7.org. 2015-12-05. Archived from the original on 2013-09-20. Retrieved 2016-04-17.
  13. ^ «Varieties of Kernel-Mode Dump Files». Microsoft. Archived from the original on 22 February 2018. Retrieved 22 February 2018.
  14. ^ «Automatic Memory Dump». Microsoft. 28 November 2017. Archived from the original on 17 March 2018. Retrieved 16 March 2018.
  15. ^ «Getting Started with WinDbg (Kernel-Mode)». Archived from the original on 14 March 2016. Retrieved 30 September 2014.
  16. ^ «Minidump Files». Archived from the original on 27 October 2014. Retrieved 30 September 2014.
  17. ^ «MINIDUMP_TYPE enumeration». Archived from the original on 11 January 2015. Retrieved 30 September 2014.

Notes[edit]

  1. ^ The term core is obsolete on contemporary hardware, but is used on many systems for historical reasons.
  2. ^ E.g., z/OS
  3. ^ a b Some older machines were decimal.
  4. ^ In the sense that the records were binary rather than formatted for printing.
  5. ^ SYStem OUTput files (SYSOUT) files are temporary files owned by the SPOOL software.
  6. ^ Initially the batch utility IMDPRDMP; currently the TSO command and ISPF panel repertoire for Interactive Problem Control System (IPCS).
  7. ^ IBM provided tools for extracting and formatting data from an unformatted dump; those tools[f] often made it easier to deal with an unformatted dump than even a small formatted dump.
  8. ^ Since then, IBM added the ability to have up to a hundred dump datasets named SYS1.DUMPnn (nn from 00 to 99). z/OS supports multiple system dump data sets with arbitrary dsname patterns under installation and operator[11] control.

External links[edit]

Descriptions of the file format

  • core(5) – Linux Programmer’s Manual – File Formats
  • core(4) – Solaris 10 File Formats Reference Manual
  • core(4) – HP-UX 11i File Formats Manual
  • core(5) – FreeBSD File Formats Manual
  • core(5) – OpenBSD File Formats Manual
  • core(5) – NetBSD File Formats Manual
  • core(5) – Darwin and macOS File Formats Manual
  • Minidump files

Kernel core dumps:

  • savecore(1M) – Solaris 10 System Administration Commands Reference Manual
  • Apple Technical Note TN2118: Kernel Core Dumps

Понравилась статья? Поделить с друзьями:
  • Гта 4 не сохраняется без регистрации на пиратке windows 10
  • Дамп памяти сохранен в c windows memory dmp код отчета
  • Гта 4 критическая ошибка windows timer functions validator check
  • Дамп памяти windows 10 какой выбрать
  • Гта 4 зависает на начальных титрах windows 10