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


0x3F проверки ошибок: NO_MORE_SYSTEM_PTES

Проверка ошибок NO_MORE_SYSTEM_PTES имеет значение 0x0000003F. Это результат того, что система выполнила слишком много операций ввода-вывода. Это привело к фрагментам системных записей таблицы страниц (PTE).

Важно!

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

Параметры NO_MORE_SYSTEM_PTES

Параметр Описание

1

0: тип PTE расширения системы

1: тип PTE расширения пула без пачки

2

Размер запроса памяти

3

Всего бесплатных системных PTEs

4

Всего системных PTEs

Причина

Почти во всех случаях система на самом деле не является вне PTEs. Скорее, драйвер запросил большой блок памяти, но не существует непрерывного блока достаточного размера для удовлетворения этого запроса.

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

Решение

Возможные обходные решения: Измените реестр, чтобы увеличить общее число системных PTEs. Если это не поможет, удалите все недавно установленное программное обеспечение, особенно служебные программы резервного копирования или приложения, интенсивно использующие диски.

Отладка проблемы: Следующий метод можно использовать для отладки проверка 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
......

Если после установки значения реестра TrackPtes в системе снова закончится PTES, вместо 0x3F будет выдано проверка 0xD8 ошибок (DRIVER_USED_EXCESSIVE_PTES). Также будет отображено имя драйвера, вызвавшего эту ошибку.