C# · Avançado · Inglês · Técnico
large object heap
Região do heap gerenciado para objetos de 85.000 bytes ou mais, coletada junto com a geração 2. Por padrão não é compactada, o que pode causar fragmentação.
Onde usar
Aparece ao investigar uso de memória alto ou pausas longas do GC com muitos arrays e strings grandes. Reutilizar buffers com ArrayPool evita encher o LOH com alocações de vida curta.
Em código
var p = new byte[84_000];
var g = new byte[85_000];
Console.WriteLine(GC.GetGeneration(p)); // 0
Console.WriteLine(GC.GetGeneration(g)); // 2Exemplos
Those big arrays are landing on the large object heap.
Esses arrays grandes estão caindo no large object heap.
The LOH is only collected in gen 2.
O LOH só é coletado na geração 2.
Cuidado
Não crie arrays grandes temporários em laço: cada um vai ao LOH e só sai em coletas completas, que são mais caras.
Sinônimos
LOH