BSOD 0x0000004D — NO_PAGES_AVAILABLE

BSOD 0x0000004D Стоп код означает, что нет свободных страниц для продолжения операций. Параметры стоп кода приведены в таблице ниже.

Параметр Описание
1 Общее количество “грязных” страниц
2 Количество “грязных” страниц, предназначенных для файла подкачки
3 Windows XP и Windows 2000: размер невыгружаемого пула на момент краха
Windows Server 2003 и выше: Зарезервировано
4 Windows 2000: количество проблемных переходных страниц
Windows XP и выше: самое последнее ошибочное состояние изменения записи

Причины

Для просмотра общей статистики по памяти, выполните расширение !vm 3.

Причина краха одна из следующих:

  • драйвер заблокировал, привел к взаимоблокировке кода одного из системных потоков, которые выполняют запись модифицированных или проецируемых в файл страниц. Примерами могут быть взаимоблокировки на мьютексах или попытка доступа к выгруженной странице памяти в драйвере файловой системы, или драйвере фильтре. Это говорит об ошибке в коде драйвера. Если параметр 1 или параметр 2 очень большой – это увеличивает такую вероятность. Используйте отладчик и !vm 3;
  • драйвер устройства хранения не обрабатывает запросы. Используйте отладчик и !vm 8, за !process 0 7;
  • высоко приоритетный поток не позволил диспетчеру настройки баланса выполнить усечение страниц рабочего набора. Это говорит об ошибке в коде компонента, который создал такой поток. Данную ситуацию сложно проанализировать. Попробуйте использовать !ready. Также попробуйте выполнить !process 0 7 для просмотра всех потоков и проверки их на предмет использования излишнего времени ядра, а также их текущих приоритетов. Такой процесс возможно заблокировал поток управления памятью, который обеспечивает систему свободными страницами;
  • Windows XP, Windows 2000: не хватает памяти пула для хранения стека для записи модифицированных страниц. Это говорит об ошибке в коде. Используйте !vm и !poolused 2.

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