Compartilhar via


Alocações de LOH excessivas disparando GCs Gen2

Este artigo descreve os insights de desempenho para alocações de heap de objetos grandes (LOH).

Causa

As alocações de objeto LOH temporárias frequentes forçam coletas de lixo (Gen2) de geração inteira improdutiva (Gen2). Cogite reduzir alocações temporárias de objetos grandes por meio de reutilização ou pooling para evitar disparar GCs gen2 frequentes.

Descrição do insight de desempenho

O coletor de lixo (GC) do .NET coloca objetos grandes em uma região específica da memória conhecida como heap de objetos grandes (LOH). Supõe-se que essas alocações sobrevivam por mais tempo devido ao custo de alocação e, portanto, são coletadas apenas durante GCs gen2 completos.

Quando essa suposição não é verdadeira e um aplicativo frequentemente aloca objetos grandes temporários, o espaço LOH é usado rapidamente. Isso faz com que muitos GCs Gen2 recuperem espaço que pode afetar o desempenho e a capacidade de resposta de um aplicativo.

Como investigar um aviso

Clique no link Investigar para ir para a exibição Alocação que mostra alocações agrupadas por tipo de heap. Objetos no nó Heap de objeto grande estão contribuindo para os frequentes GCs. Cogite reduzir essas alocações por meio de técnicas de reutilização ou pooling.