Compartilhar via


GC.RefreshMemoryLimit Método

Definição

Instrui o Coletor de Lixo a se reconfigurar detectando 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 é muito baixo. Isso pode acontecer se o limite rígido de heap que a atualização definirá, devido às novas configurações do AppData ou implícitas pelas alterações de limite de memória do contêiner, for menor do que o que já está confirmado.

-ou-

O limite rígido é inválido. Isso pode acontecer, por exemplo, com percentuais de limite rígido de heap negativos.

Comentários

Além do limite de memória física real e das configurações de limite de contêiner, essas configurações podem ser substituídas:

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

Em vez de atualizar a variável de ambiente (que não será lida), elas substituem essas configurações usando um valor ulong no AppContext.

Por exemplo, você pode usar AppContext.SetData("GCHeapHardLimit", (ulong) 100 * 1024 * 1024) para substituir o GCHeapHardLimit para 100M.

Essa API só manipula configurações que podem ser manipuladas quando o runtime é carregado. Para configurações que não têm efeitos em sistemas de 32 bits (como os GCHeapHardLimit*), essa API não lidará com isso.

Aplica-se a