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.