GC.RefreshMemoryLimit Método

Definição

Instrui o Coletor de Lixo a reconfigurar-se detetando os vários limites de memória no sistema.

public:
 static void RefreshMemoryLimit();
public static void RefreshMemoryLimit();
static member RefreshMemoryLimit : unit -> unit
Public Shared Sub RefreshMemoryLimit ()

Exceções

O limite rígido é demasiado baixo. Isto pode acontecer se o limite rígido do heap que a atualização irá definir, seja devido a novas definições do AppData ou implícito pelas alterações ao limite de memória do contentor, for inferior ao que já está comprometido.

-ou-

O limite rígido é inválido. Isto pode acontecer, por exemplo, com percentagens negativas de limite rígido do heap.

Observações

Para além das definições físicas reais de limite de memória e limite de contentores, estas definições de configuração podem ser sobrescritas:

     - GCHeapHardLimit
     - GCHeapHardLimitPercent
     - GCHeapHardLimitSOH
     - GCHeapHardLimitLOH
     - GCHeapHardLimitPOH
     - GCHeapHardLimitSOHPercent
     - GCHeapHardLimitLOHPercent
     - GCHeapHardLimitPOHPercent

Em vez de atualizarem a variável de ambiente (que não será lida), estes sobrepõem estas definições usando um valor ulong no AppContext.

Por exemplo, podes usar AppContext.SetData("GCHeapHardLimit", (ulong) 100 * 1024 * 1024) para ultrapassar o GCHeapHardLimit para 100M.

Esta API só trata de configurações que podem ser tratadas quando o tempo de execução é carregado. Para configurações que não têm qualquer efeito em sistemas de 32 bits (como as GCHeapHardLimit*), esta API não o consegue.

Aplica-se a