- Structures de suivi pour chaque réservation de mémoire virtuelle
- Gestion des fichiers, des événements et des objets de synchronisation de threads
- Mise en réseau
CreateFileCreateEventCreateSemaphore
XError et le flux de débogage.
Si l’utilisation de la mémoire du noyau a dépassé la limite, l’appel d’API échoue avec une valeur GetLastError() égale à ERROR\_NOT\_ENOUGH\_MEMORY.
La sortie de diagnostic est visible dans un débogueur attaché, xbwatson.exe et xbdbgmon.exe.
Avertissement (à 14 Mo)
La sortie suivante s’affiche lorsqu’un avertissement se déclenche à 14 Mo.Erreur (à 16 Mo)
La sortie suivante s’affiche lorsqu’une erreur se déclenche à 16 Mo.
L’erreur suivante s’affiche également.
XMEM\_MAKE\_TAG et XMemVirtualAlloc) pour indiquer l’utilisation de la mémoire. La balise peut aider à déterminer la source de l’utilisation de la mémoire.
Le tableau suivant présente les balises de « forte utilisation » les plus courantes liées à l’utilisation par le titre.
La mémoire du noyau est divisée en deux grandes catégories appelées « non paginée » et « paginée ». Dans le Microsoft Game Development Kit (GDK), il n’existe aucune différence fonctionnelle entre ces catégories, et elles peuvent être considérées comme synonymes.
Coûts courants en mémoire du noyau
Le tableau suivant présente les coûts attendus en mémoire du noyau de chaque action répertoriée.Augmentation de la limite
L’utilisation de la mémoire des titres de petite taille peut tenir dans les limites existantes. Toutefois, les titres plus volumineux doivent recevoir de la mémoire pour prendre en charge leur utilisation de la mémoire du noyau. L’API XMemTransferMemory permet de fournir la mémoire nécessaire.Profilage de l’utilisation du pool du noyau
PIX ne prend pas en charge la surveillance de l’utilisation du pool du noyau. Il est possible de surveiller la consommation à l’aide de xperf et de Windows Performance Analyzer (WPA). Suivez les étapes suivantes pour profiler la mémoire du noyau.- Entrez la commande
xbrun /x/title xperf -start -on PROC_THREAD+LOADER+POOL -stackwalk PoolAlloc+PoolFree -f d:\krnl.etl - Exécutez le scénario du titre.
- Entrez la commande
xbrun /x/title xperf -stop -d d:\krnl.merged.etl - Entrez la commande
xbcp xd:\krnl.merged.etl %TEMP%\pool_usage.etl - Ouvrez le fichier pool_usage.etl dans WPA et effectuez l’analyse comme illustré dans la figure 1.

