| Предыдущий | Следующий |
| MULTIPROCESSOR_CONFIGURATION_NOT_SUPPORTED | TARGET_MDL_TOO_SMALL |
NO_MORE_SYSTEM_PTES
Проверка ошибок NO_MORE_SYSTEM_PTES имеет значение 0x0000003F. Это результат выполнения системой слишком большого числа операций ввода-вывода. В результате системные записи таблицы страниц (PTE) оказались фрагментированы.
Важно
Эта статья предназначена для программистов. Если при работе с компьютером появился синий экран с кодом NO_MORE_SYSTEM_PTES, см. Устранение ошибок синего экрана.
Параметры NO_MORE_SYSTEM_PTES
| Параметр | Описание |
|---|---|
1 |
0: тип PTE расширения системы 1: тип PTE расширения невыгружаемого пула |
2 |
Размер запроса памяти |
3 |
Общее число свободных системных PTE |
4 |
Общее число системных PTE |
Причина
Почти во всех случаях системные PTE фактически не исчерпаны. Вместо этого драйвер запросил большой блок памяти, но непрерывного блока достаточного размера для удовлетворения запроса нет.
Видеодрайверы часто выделяют большие объёмы памяти ядра с обязательным успешным результатом. Некоторые программы резервного копирования делают то же самое.
Устранение
Возможное обходное решение: Измените реестр, чтобы увеличить общее число системных PTE. Если это не помогает, удалите недавно установленное программное обеспечение, особенно средства резервного копирования и приложения с интенсивной дисковой нагрузкой.
Отладка проблемы: Для отладки проверки ошибки 0x3F можно использовать следующий метод.
Сначала получите трассировку стека и выполните команду расширения !sysptes 3 .
Затем установите HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\TrackPtes в значение DWORD 1 и перезагрузите систему. После этого система будет сохранять трассировки стека.
Это позволит вывести более подробные сведения о владельцах PTE. Например:
0: kd> !sysptes 4
0x2c47 System PTEs allocated to mapping locked pages
VA MDL PageCount Caller/CallersCaller
f0e5db48 eb6ceef0 1 ntkrpamp!MmMapLockedPages+0x15/ntkrpamp!IopfCallDriver+0x35
f0c3fe48 eb634bf0 1 netbt!NbtTdiAssociateConnection+0x1f/netbt!DelayedNbtProcessConnect+0x17c
f0db38e8 eb65b880 1 mrxsmb!SmbMmAllocateSessionEntry+0x89/mrxsmb!SmbCepInitializeExchange+0xda
f8312568 eb6df880 1 rdbss!RxCreateFromNetRoot+0x3d7/rdbss!RxCreateFromNetRoot+0x93
f8363908 eb685880 1 mrxsmb!SmbMmAllocateSessionEntry+0x89/mrxsmb!SmbCepInitializeExchange+0xda
f0c54248 eb640880 1 rdbss!RxCreateFromNetRoot+0x3d7/rdbss!RxCreateFromNetRoot+0x93
f0ddf448 eb5f3160 1 mrxsmb!MrxSmbUnalignedDirEntryCopyTail+0x387/mrxsmb!MRxSmbCoreInformation+0x36
f150bc08 eb6367b0 1 mrxsmb!MrxSmbUnalignedDirEntryCopyTail+0x387/mrxsmb!MRxSmbCoreInformation+0x36
f1392308 eb6fba70 1 netbt!NbtTdiOpenAddress+0x1fb/netbt!DelayedNbtProcessConnect+0x17c
eb1bee64 edac5000 200 VIDEOPRT!pVideoPortGetDeviceBase+0x118/VIDEOPRT!VideoPortMapMemory+0x45
f139b5a8 edd4b000 12 rdbss!FsRtlCopyWrite2+0x34/rdbss!RxDriverEntry+0x149
eb41f400 ede92000 20 VIDEOPRT!pVideoPortGetDeviceBase+0x139/VIDEOPRT!VideoPortGetDeviceBase+0x1b
eb41f198 edf2a000 20 NDIS!NdisReadNetworkAddress+0x3a/NDIS!NdisFreeSharedMemory+0x58
eb41f1e4 eb110000 10 VIDEOPRT!pVideoPortGetDeviceBase+0x139/VIDEOPRT!VideoPortGetDeviceBase+0x1b
......
Если после установки значения реестра система снова исчерпает PTE, TrackPtes вместо 0x3F будет создана проверка ошибки проверка ошибки 0xD8 (DRIVER_USED_EXCESSIVE_PTES). Также будет показано имя драйвера, вызвавшего ошибку.
Нужно найти другой код? Найти другой код состояния или ошибки.