2013-09-23 21 views
6

In Java 6 che abbiamo usato per utilizzare la seguente configurazione GC per evitare Perm Gen OutOfMemoryException dopo diversi ridistribuzioni della nostra app:Classe scarico in G1 Garbage Collector di Java (G1GC)

-XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled

Ci trasferiremo in Java 7 e desidera utilizzare il nuovo GC G1, che da quello che ho letto, sposta le classi dalla memoria PermGen in Java alla memoria nativa.

C'è qualche contrassegno per abilitare lo scarico delle classi non utilizzate?

risposta

7

Il G1 esegue lo scaricamento della classe durante un GC completo, quindi non è necessario specificare alcun parametro per abilitarlo.

Potete vedere voi stessi utilizzando l'argomento -XX:+TraceClassUnloading.

Inoltre, controlla questo thread di posta elettronica dalla mailing list di HotSpot GC: Bug in G1GC it performs Full GC when code cache is full resulting in overkill. Discutono abbastanza diffusamente lo scarico di classe in G1. In sintesi, è possibile utilizzare -noclassgc se si verificano problemi con lo scaricamento della classe, ma in genere non ci sono problemi con lo scaricamento della classe in G1.