Gestionnaire de tas ne peut pas dégagement de mémoire une fois que la mémoire est libérée

IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d’une traduction incorrecte du contenu ou de son utilisation par les clients.

La version anglaise de cet article est la suivante: 3073576
Symptômes
Le Gestionnaire de segment de basse Fragmentation du tas (LFH) ne peut pas dégagement mémoire qui a été libérée à l'aide deHeapFree. Par conséquent, les octets privés risque d'augmenter même si la mémoire dans le tas a été libérée.
Plus d'informations
La LFH limite mémoire retour vers le tas principal. Lorsqu'une application est dans un cycle où elle alloue la quantité importante de mémoire, puis libère la mémoire et puis répète le processus, le LFH intentionnellement ne renvoie pas tous la mémoire allouée. Cela se produit, car le modèle de répartition suggère que l'application doit allouer la mémoire à nouveau bientôt. Par conséquent, le LFH met en cache une partie de l'application libérée pour accélérer les allocations. À mesure que l'application du modèle, le LFH continuera de mémoire cache et une augmentation des octets privés se produira.

Le point essentiel est que le LFH (et le tas généralement) ne peut pas garantir que lorsqu'un bloc de mémoire est libéré, ce bloc de mémoire sera également annulée. HeapCompactpeut être appelée pour indiquer au segment de mémoire qu'il pourrait être un bon moment pour rincer ses caches. Cela peut éviter une augmentation des octets privés. Toutefois, le Gestionnaire de tas toujours peut ignorer la demande.
Contournement
Octets privés mesurent quelque chose de très différent d'allocations de tas active. Si vous avez besoin de contrôle fort des octets privés, vous devez envisager d'utiliser le VirtualAlloc et VirtualFree API.

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 3073576 - Dernière mise à jour : 07/13/2015 21:15:00 - Révision : 1.0

Windows 8.1, Windows 8.1 Enterprise, Windows 8.1 Pro

  • kbexpertiseadvanced kbtshoot kbsurveynew kbmt KB3073576 KbMtfr
Commentaires