0x3F de vérification des bogues : NO_MORE_SYSTEM_PTES

Le case activée de bogue NO_MORE_SYSTEM_PTES a la valeur 0x0000003F. Il s’agit du résultat d’un système qui a effectué trop d’actions d’E/S. Cela a entraîné des entrées de table de pages système fragmentées (PTE).

Important

Cet article est destiné aux programmeurs. Si vous êtes un client qui a reçu un code d’erreur d’écran bleu lors de l’utilisation de votre ordinateur, consultez Résoudre les erreurs d’écran bleu.

paramètres de NO_MORE_SYSTEM_PTES

Paramètre Description

1

0 : type PTE d’extension du système

1 : type PTE d’extension de pool non paginé

2

Taille de la demande de mémoire

3

Total free system PTEs

4

Total des PTE système

Cause

Dans presque tous les cas, le système n’est pas réellement en dehors des PTE. Au lieu de cela, un pilote a demandé un bloc de mémoire volumineux, mais il n’existe aucun bloc contigu de taille suffisante pour répondre à cette demande.

Souvent, les pilotes vidéo allouent de grandes quantités de mémoire du noyau qui doivent réussir. Certains programmes de sauvegarde font de même.

Résolution

Une solution de contournement possible : Modifiez le Registre pour augmenter le nombre total d’EPT système. Si cela ne vous aide pas, supprimez les logiciels récemment installés, en particulier les utilitaires de sauvegarde ou les applications gourmandes en disque.

Débogage du problème : La méthode suivante peut être utilisée pour déboguer des bogues case activée 0x3F.

Tout d’abord, obtenez une trace de pile et utilisez la commande d’extension !sysptes 3 .

Ensuite, définissez HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\TrackPtes égal à DWORD 1, puis redémarrez. Cela entraîne l’enregistrement des traces de pile par le système.

Cela vous permet d’afficher des informations plus détaillées sur les propriétaires PTE. Par exemple :

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
......

Si le système est à nouveau à court de pte après la définition de la valeur de Registre TrackPtes, case activée 0xD8 de bogues (DRIVER_USED_EXCESSIVE_PTES) est émis au lieu de 0x3F. Le nom du pilote à l’origine de cette erreur s’affiche également.