| Предыдущий | Следующий |
| FATAL_UNHANDLED_HARD_ERROR | PFN_LIST_CORRUPT |
NO_PAGES_AVAILABLE
Проверка ошибок NO_PAGES_AVAILABLE имеет значение 0x0000004D. Для NO_PAGES_AVAILABLE это означает, что свободных страниц памяти для продолжения работы не осталось.
Важно
Параметры NO_PAGES_AVAILABLE
| Параметр | Описание |
|---|---|
| 1 | Общее количество dirty pages |
| 2 | Количество dirty pages, предназначенных для page file |
| 3 | Размер невыгружаемого пула, доступного в момент проверки ошибки |
| 4 | Код состояния последней ошибки записи изменённых страниц. |
Причина NO_PAGES_AVAILABLE
Для просмотра общих статистических данных памяти используйте !vm 3 .
Эта проверка может возникнуть по любой из следующих причин:
- Драйвер заблокировался, вызвав взаимную блокировку писателей изменённых или отображённых страниц. Для NO_PAGES_AVAILABLE примерами служат взаимные блокировки mutex и обращения драйверов файловых систем или фильтров к выгруженной из памяти странице. Это указывает на ошибку драйвера. Для NO_PAGES_AVAILABLE эта причина возможна, если параметр 1 или параметр 2 имеет большое значение. Используйте !vm 3.
- Драйвер хранилища не обрабатывает запросы. Примерами являются застрявшие очереди и не отвечающие накопители. Это указывает на ошибку драйвера. Для NO_PAGES_AVAILABLE эта причина возможна, если параметр 1 или параметр 2 имеет большое значение. Используйте !vm 8, затем !process 0 7.
Высокоприоритетный поток реального времени не даёт диспетчеру балансировки сокращать рабочие наборы либо не позволяет средству записи изменённых страниц выгружать их. Это указывает на ошибку компонента, создавшего данный поток.
Такую ситуацию трудно анализировать. Попробуйте использовать !ready. Также попробуйте !process 0 7 для вывода всех потоков, их текущих приоритетов и проверки, не накопил ли какой-либо поток чрезмерное время ядра. Такие процессы могли блокировать потоки управления памятью и не давать им освобождать страницы.
В пуле недостаточно памяти, чтобы стек хранилища мог записывать изменённые страницы. Это указывает на ошибку драйвера.
Эта причина возможна, если параметр 3 мал. Используйте !vm и !poolused 2.
Если проблему найти не удаётся, попробуйте с самого начала загрузить систему с подключённым отладчиком ядра и наблюдать за ситуацией.
Официальные материалы по NO_PAGES_AVAILABLE
- Microsoft: справочник кодов проверок ошибок
- Microsoft: анализ дампа режима ядра с помощью WinDbg
- Microsoft: команда WinDbg !analyze
Нужно найти другой код? Найти другой код состояния или ошибки.