Общие сведения о файлах аварийного дампа

Впервые опубликовано в TECHNET 8 января 2008 г.

В конце 2007 года мы говорили о Bugchecks и почему они случаются. Сегодня мы поговорим о самих файлах аварийного дампа — о различных типах дампа, о том, как создаются сами дампы и зачем вам нужен файл подкачки правильного размера. Итак, приступим …

По умолчанию все системы Windows настроены на попытку сбора информации о состоянии операционной системы в случае сбоя системы. Помните, что здесь мы говорим о полном отказе системы, а не об отказе отдельного приложения. Параметры для файлов дампа настраиваются с помощью инструмента «Система» на панели управления. В этом инструменте выберите Свойства системы — на вкладке Дополнительно есть раздел для запуска и восстановления. При нажатии на кнопку «Настройки» отображаются параметры файла дампа, как показано ниже. Существует три различных типа дампа, которые могут быть записаны при сбое системы:

Полный дамп памяти : он содержит все содержимое физической памяти на момент сбоя. Этот тип дампа потребует наличия файла подкачки размером не менее физической памяти плюс 1 МБ (для заголовка). Из-за требований к файлу подкачки это необычный параметр, особенно для систем с большим объемом оперативной памяти. Windows NT4 поддерживает только полный дамп памяти. Кроме того, это настройка по умолчанию в системах Windows Server.

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

Малый дамп памяти : небольшой дамп памяти (он же мини-дамп) представляет собой дамп размером 64 КБ (128 КБ в 64-разрядных системах), который содержит код остановки и параметры , список загруженных драйверов устройств, информация о текущем процессе и потоке, а также стек ядра для потока, вызвавшего сбой.

Здесь следует кое-что отметить — хотя необходимость в полном дампе памяти возникает редко при проверке ошибок, полный дамп памяти почти всегда требуется для созданных вручную аварийных дампов, используемых для диагностики мягких зависаний в системе. (Дополнительные сведения о разнице между программным и жестким зависанием см. в разделе «Устранение неполадок при зависании сервера — Часть первая)». Это связано с тем, что при рассмотрении мягких зависаний нам нужно будет рассмотреть процессы пользовательского режима, взаимоблокировки и т. Д. Однако, независимо от того, какой тип дампа вы собираете, на загрузочном томе должен быть файл подкачки правильного размера. Для полных дампов, как указано выше, этот файл подкачки должен иметь размер Физическая RAM + 1 МБ.

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

Физическая RAM Минимальный размер файла подкачки (дамп ядра)
50 МБ
200 МБ
400 МБ
> = 8 ГБ 800 МБ

Если вы обеспокоены тем, что максимальный размер файла страницы слишком мал, чтобы можно было записать дамп ядра, единственный способ получить более точную оценку — это заставить сбой вручную с использованием метода CrashOnCtrlScroll, описанного в статье 244139 базы знаний Microsoft. После перезагрузки системы проверьте, не был ли сгенерирован дамп ядра, и проверьте размер. Другой альтернативой (для 32-битных систем) было бы установить файл подкачки на загрузочном томе равным 2 ГБ + 1 МБ. Это связано с тем, что максимальное адресное пространство режима ядра, доступное в 32-разрядных системах, составляет 2 ГБ.

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

Давайте вкратце поговорим о том, как создаются сами файлы дампа. Когда система загружается, она проверяет параметры аварийного дампа в разделе реестра HKLM System CurrentControlSet Control CrashControl .. Все параметры, доступные в графическом интерфейсе, можно изменить через реестр, как показано ниже:

  • Записать событие в системный журнал checkbox = LogEvent
  • Флажок «Автоматический перезапуск» = AutoReboot
  • Выпадающий список «Записать отладочную информацию» = CrashDumpEnabled
  • Текстовое поле «Файл дампа» = DumpFile
  • Перезаписать все существующие флажок файла = Перезаписать

Быстрый отклик здесь — если у вас есть система с более чем 2 ГБ ОЗУ, опция для полного дампа памяти недоступен в раскрывающемся меню графического интерфейса, как видно из этого изображения. Это поведение описано в статье 274598 базы знаний Майкрософт. Можно включить полный дамп памяти, изменив значение CrashDumpEnabled в разделе реестра HKLM System CurrentControlSet Control CrashControl на 1. Обратите внимание, что это по-прежнему не будет отображать параметр для полный дамп памяти в графическом интерфейсе. Если вам нужен полный дамп памяти для устранения конкретных проблем, вы можете рассмотреть возможность использования переключателя MAXMEM в файле boot.ini в 32-разрядных системах, чтобы ограничить объем оперативной памяти, используемой операционной системой, до 2 ГБ или меньше ( подробности см. в статье 108393 базы знаний Microsoft). После этого отобразится опция полного дампа памяти. Кроме того, это позволит быстрее создать файл дампа и сократить время простоя. Это идеально подходит для сценариев устранения неполадок, а не для длительного использования, поскольку вы ограничиваете объем оперативной памяти, доступной для системы.

Возвращаясь к теме создания самого файла дампа, если дамп настроен, система делает копию драйвера минипорта диска, используемого для записи на загрузочный том в памяти, и добавляет имя драйвера с «dump_». Система также проверяет суммы всех компонентов, участвующих в записи аварийного дампа (включая скопированный драйвер минипорта диска), функций диспетчера ввода-вывода, которые записывают дамп, и карты расположения на диске файла подкачки загрузочного тома. Эта контрольная сумма сохраняется. Когда функция KeBugCheck выполняет, она снова проверяет суммы этих компонентов и сравнивает эту контрольную сумму с той, которая была создана при загрузке. Если эти контрольные суммы не совпадают, файл дампа не записывается (из-за риска повреждения диска). Если контрольная сумма совпадает, информация дампа записывается непосредственно в секторы на диске, занятые файлом подкачки. Драйвер файловой системы полностью игнорируется — потому что он может быть поврежден или быть причиной сбоя. Когда SMSS.EXE включает разбиение на страницы во время процесса загрузки, система проверяет файл подкачки загрузочного тома на предмет наличия аварийного дампа. Если он существует, то эта часть файла подкачки защищена. Это делает весь (или часть) файла подкачки загрузочного тома непригодным для использования на ранней стадии процесса загрузки. Это может привести к появлению уведомлений о нехватке виртуальной памяти в системе — временное состояние. Позже в процессе загрузки WINLOGON.EXE вызывает SAVEDUMP. EXE, чтобы извлечь дамп из файла подкачки и скопировать его в окончательное расположение, указанное в поле Файл дампа.

В Windows Server 2003 есть несколько иное поведение, описанное в статье базы знаний 886429. После перезагрузки сервера после проверки ошибок Windows требует временный файл на загрузочном томе, равный размеру физической RAM. Если на диске недостаточно места для выполнения этого требования, файл дампа все равно создается, однако размер файла подкачки на этом томе уменьшается. На первом этапе операции дампа подсистема диспетчера сеансов (SMSS.EXE) проверяет блок заголовка файла подкачки, чтобы определить, является ли файл допустимым дампом памяти. Если файл действителен, то SMSS.EXE усекает файл подкачки до размера файла дампа и переименовывает файл в Dump xxx .tmp ( xxx значение рассчитывается из нижнего слова функции tickcount). SMSS сохраняет файл дампа xxx .tmp на загрузочном томе и устанавливает значение TempDestination и значение DumpFile в изменчивом подразделе реестра ( HKLM System CurrentControlSet Control CrashControl MachineCrash ). SAVEDUMP.EXE считывает это место реестра, чтобы определить, существует ли допустимый дамп памяти, и копирует файл Dump xxx .tmp в Memory.dmp.

И это подводит нас к концу этой публикации. До следующего раза …

Дополнительные ресурсы:

  • KB 274598: полные дампы памяти не сохраняются на компьютерах с 2 или более ГБ ОЗУ
  • KB 254649: Обзор параметров файла дампа памяти для Windows Server 2003, XP и Windows 2000 …
  • KB 244139: Создание аварийного дампа вручную с помощью клавиатуры
  • КБ 108393: Обзор переключателя/maxmem в boot.ini
  • КБ 886429: что следует учитывать при настройке нового расположения для файлов дампа памяти в Windows …

— CC Hameed

Поделиться этим сообщением:

Можем ли мы переместить путь к файлу дампа ядра на диск с данными вместо загрузочного диска и установить файл подкачки только при выходе с диска с данными файл подкачки на загрузочном диске отключен. Будет ли создан дамп?



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

Когда синие экраны Windows , он создает файлы дампа памяти, также известные как аварийные дампы. Это то, о чем говорит BSOD Windows 8, когда говорит, что «просто собирает некоторую информацию об ошибках».

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

Типы дампов памяти

СВЯЗАННЫЕ: Все, что вам нужно знать о синем экране смерти

Windows может создавать несколько различных типов дампов памяти. Вы можете получить доступ к этому параметру, открыв Панель управления, щелкнув «Система и безопасность», а затем «Система». Щелкните «Дополнительные параметры системы» на боковой панели, щелкните вкладку «Дополнительно» и щелкните «Параметры» в разделе «Запуск и восстановление».

По умолчанию для параметра «Запись отладочной информации» установлено значение «Автоматический дамп памяти». Вот что на самом деле представляет собой каждый тип дампа памяти:

Полный дамп памяти: Полный дамп памяти — это самый большой из возможных дампов памяти. Он содержит копию всех данных, используемых Windows в физической памяти. Итак, если у вас 16 ГБ оперативной памяти, а Windows использует 8 ГБ во время сбоя системы, размер дампа памяти будет 8 ГБ. Сбои обычно вызываются кодом, работающим в режиме ядра, поэтому полная информация, включая память каждой программы, редко бывает полезной — дампа памяти ядра обычно достаточно даже для разработчика.

Дамп памяти ядра: Дамп памяти ядра будет намного меньше полного дампа памяти. Microsoft заявляет, что обычно она будет составлять около одной трети объема физической памяти, установленной в системе. Как заявляет Microsoft:

«Этот файл дампа не будет включать нераспределенную память или любую память, выделенную для приложений пользовательского режима. Он включает только память, выделенную для ядра Windows и уровень абстракции оборудования (HAL), а также память, выделенную для драйверов режима ядра и других программ режима ядра.

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

Малая память дамп (256 КБ): небольшой дамп памяти — это самый маленький тип дампа памяти. Он содержит очень мало информации — информацию на синем экране, список загруженных драйверов, информацию о процессе и немного информации о ядре. Это может быть полезно для выявления ошибки, но предлагает менее подробную информацию об отладке, чем дамп памяти ядра.

СВЯЗАННЫЕ: Насколько большим должен быть ваш файл подкачки или раздел подкачки?

Автоматический дамп памяти: это параметр по умолчанию, и он содержит ту же информацию, что и дамп памяти ядра. Microsoft заявляет, что, когда для файла подкачки задан размер, управляемый системой, а компьютер настроен на автоматические дампы памяти, «Windows устанавливает размер файла подкачки достаточно большим, чтобы гарантировать, что дамп памяти ядра может быть захвачен большей частью время.» Как отмечает Microsoft, аварийные дампы являются важным фактором при принятии решения о размере файла подкачки.. Файл подкачки должен быть достаточно большим, чтобы содержать данные о памяти.

(none): Windows не будет создавать дампы памяти при сбое.

Дампы памяти предназначены для разработчиков

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

Но вы, вероятно, просто обычный пользователь Windows, а не тот, кто разрабатывает драйверы оборудования или работает над исходным кодом Windows в Microsoft. Аварийные дампы по-прежнему полезны. Возможно, они вам не понадобятся, но вам может потребоваться отправить их разработчику, если у вас возникла проблема с низкоуровневыми драйверами программного обеспечения или оборудования на вашем компьютере. Например, на веб-сайте Symantec говорится: «Часто Symantec Development потребуется полный дамп памяти из пораженной системы, чтобы определить причину сбоя». Аварийный дамп также может быть полезен, если у вас возникла проблема с самой Windows, так как вам может потребоваться отправить его в Microsoft. Разработчики, отвечающие за программное обеспечение, могут использовать дамп памяти, чтобы точно увидеть, что происходило на вашем компьютере во время сбоя, что, надеюсь, позволит им определить и устранить проблему.

Мини-дампы vs. дампы памяти

Файлы минидампа полезны почти для всех, потому что они содержат основную информацию, такую ​​как сообщение об ошибке, связанное с синим экраном смерти. По умолчанию они хранятся в папке C: Windows Minidump. Файлы дампа обоих типов имеют расширение .dmp.

Даже если ваша система настроена на создание ядра, полного или автоматического дампа памяти, вы получите и минидамп, и большую ПАМЯТЬ. .DMP-файл.

Такие инструменты, как BlueScreenView от Nirsoft, могут отобразить информацию, содержащуюся в этих файлах minidmp. Вы можете увидеть точные файлы драйверов, участвовавшие в сбое, что может помочь определить причину проблемы. Поскольку минидампы настолько полезны и малы, мы рекомендуем никогда не устанавливать для параметра дампа памяти значение «(нет)» — обязательно настройте свою систему как минимум на создание небольших дампов памяти. Они не занимают много места и помогут вам, если вы когда-нибудь столкнетесь с проблемой. Даже если вы не знаете, как самостоятельно получить информацию из файла минидампа, вы можете найти программные инструменты и людей, которые могут использовать эту информацию, чтобы найти и исправить вашу системную проблему.

Большие дампы памяти, такие как дампы памяти ядра и полные дампы памяти, хранятся в C: Windows MEMORY.DMP по умолчанию. Windows настроена на перезапись этого файла каждый раз при создании нового дампа памяти, поэтому у вас должен быть только один файл MEMORY.DMP, занимающий место.

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

Удалите дампы памяти, чтобы освободить место

СВЯЗАННЫЕ: 7 способов освободить место на жестком диске в Windows

Вы можете удалить эти файлы .dmp, чтобы освободить место, что является хорошей идеей, потому что они могут быть очень большими по размеру — если на вашем компьютере синий экран, у вас может быть файл MEMORY.DMP размером 800 МБ или более, занимающий место на вашем системном диске.

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


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

Изображение предоставлено: Thawt Hawthje на Flickr

ПРОЧИТАТЬ СЛЕДУЮЩИЙ
  • › Как смотреть YouTube «Картинка в картинке» в Safari на Mac
  • › Можете ли вы узнать, когда у ваших Apple Watch есть блокировка GPS?
  • › Как использовать пакеты стикеров в Signal
  • › Как изменить ярлык, открывающий игровую панель Windows 10
  • › Как открыть MBOX Файл (с использованием Mozilla Thunderbird)
Оцените статью
logicle.ru
Добавить комментарий