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


Дамп динамической памяти диспетчера задач

Обзор

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

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

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

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

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

Общие сведения о дампах памяти динамического ядра см. в справочнике по коду дампа динамической памяти ядра.

Функция динамического дампа диспетчера задач была выпущена в начале 2023 года и была впервые доступна в сборках Предварительной версии Windows в Канарском канале (сборка 25276 и выше) и в Канале разработки (сборка 23419 и выше) и в июле 2023 г. доступна в сборке ОС Windows 22621.1992 и более поздних.

Создание дампа памяти динамического ядра системы с помощью диспетчера задач

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

  1. Запустите диспетчер задач Windows.

  2. Перейдите к процессам или сведениям.

  3. Найдите системный процесс.

  4. Щелкните правой кнопкой мыши и выберите "Создать файл дампа памяти динамического ядра".

  5. В раскрывающемся меню выберите дамп памяти полного активного ядра или дамп памяти стека ядра.

Снимок экрана: пользовательский интерфейс дампа динамической памяти диспетчера задач.

Создание дампа памяти для процесса пользовательского режима

Аналогичная процедура используется в диспетчере задач для создания дампа памяти процесса. Выделите нужный процесс пользовательского режима, а затем щелкните правой кнопкой мыши и выберите "Создать файл дампа памяти". Для получения дополнительной информации о файлах дампа в режиме пользователя см. User-Mode файлы дампа.

Дополнительные параметры файла дампа памяти рабочего ядра

Параметры файла дампа памяти динамического ядра доступны в параметрах диспетчера задач.

Снимок экрана: пользовательский интерфейс расширенных параметров дампа памяти диспетчера задач.

Верхняя кнопка возвращает параметры дампа памяти динамического ядра в значения по умолчанию.

Когда выбрана опция «прерывание при давлении памяти», процесс создания дампа будет остановлен, если доступная память считается недостаточной. Это параметр по умолчанию, чтобы свести к минимуму потенциальное влияние записи динамического дампа ядра на скорость реагирования системы.

Параметры файла дампа динамической памяти ядра предоставляют несколько вариантов включения сведений в дамп памяти.

  • Захват страниц памяти гипервизора (с или без несущественных страниц)
  • Запись пользовательских страниц

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

Запись страниц памяти гипервизора

Выберите параметр страницы памяти гипервизора, чтобы захватить регионы памяти, используемые гипервизором для поддержки Hyper-V и виртуальных машин. Дополнительные сведения см. в разделе Hyper-V на Windows.

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

Запись пользовательских страниц

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

Для получения общей информации о памяти и использовании страниц в Windows см. в книге "Внутреннее устройство Windows" Павла Йосифовича, Алекса Ионеску, Марка Руссиновича и Дэвида Соломона.

Расположение файла дампа динамической памяти

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

Дампы памяти активного ядра

По умолчанию дампы памяти динамического ядра хранятся здесь.

%LocalAppData%\Microsoft\Windows\TaskManager\LiveKernelDumps

%LocalAppData% обычно C:\Users\<YourUserName>\AppData\Local\

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

Файлы дампа памяти в режиме реального времени хранятся в каталоге %localappdata%\Temp, который обычно находится в каталоге Users.

C:\Users\<YourUserName>\AppData\Local\Temp

Устранение неполадок с дампом динамической памяти

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

  • Диспетчер задач должен работать как пользователь уровня администратора.

  • При проблемах с тайм-аутом попробуйте снова снять дамп через несколько минут.

  • Дождитесь завершения любого запрошенного дампа, прежде чем принимать дополнительные дампы памяти.

  • Возможно, создание дампа памяти в реальном времени завершается успешно, но не может содержать полное содержимое памяти. Для захвата временно требуется достаточно свободной физической памяти для хранения копии памяти, записываемой в файл дампа. Закрытие ненужных приложений или отключение записи страниц памяти hyper-V и пользовательского режима может увеличить объем памяти, которую можно сохранить в файле дампа.

Анализ файлов дампа динамической памяти

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

Дополнительные сведения можно найти здесь

Код проверки ошибок: 0x161 — LIVE_SYSTEM_DUMP

Код bug-check для дампа динамической памяти диспетчера задач — Bug Check 0x161: LIVE_SYSTEM_DUMP.

См. также