Gerenciador de heap não pode liberação memória depois de memória é liberada

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

Clique aqui para ver a versão em Inglês deste artigo: 3073576
Sintomas
Gerenciador de pilha de baixa fragmentação Heap (LFH) não pode liberação de memória que foi liberada usandoHeapFree. Portanto, os bytes particulares podem aumentar mesmo se a memória no heap foi liberada.
Mais Informações
O LFH acelera o retorno de memória no heap de back-end. Quando um aplicativo está em um ciclo no qual ele aloca muita memória, e libera a memória e depois repete o processo, o LFH intencionalmente não retorna toda a memória comprometida. Isso ocorre porque o padrão de alocação sugere que o aplicativo terá que alocar a memória novamente em breve. Portanto, o LFH irá armazenar em cache uma parte do que o aplicativo liberado para acelerar as alocações. Como o aplicativo continua sendo o padrão, o LFH continuará a memória cache e ocorrerá um aumento nos bytes particulares.

O ponto principal é que o LFH (a pilha e geralmente) não pode garantir que quando um bloco de memória é liberado, esse bloco de memória também será não comprometido. HeapCompactpode ser chamado para indicar à pilha que pode ser um bom momento para afastar os seus caches. Isso pode evitar um aumento nos bytes particulares. No entanto, o Gerenciador de heap ainda pode ignorar a solicitação.
Como Contornar
Bytes particulares medem algo muito diferentes das alocações de heap ativo. Se você precisa ter um forte controle sobre bytes particulares, você deve considerar usando o VirtualAlloc e VirtualFree APIs.

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 3073576 - Última Revisão: 07/13/2015 21:18:00 - Revisão: 1.0

Windows 8.1, Windows 8.1 Enterprise, Windows 8.1 Pro

  • kbexpertiseadvanced kbtshoot kbsurveynew kbmt KB3073576 KbMtpt
Comentários