2013-09-23 16 views
6

W Javie 6 zwykliśmy używać następującej konfiguracji GC, aby zapobiec Perm Rdz OutOfMemoryException po kilku przesunięć w naszej aplikacji:Klasa Rozładunek w G1 Garbage Collector Java (G1GC)

-XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled

idziemy do Java 7 i chcesz użyć nowego G1 GC, który z tego, co przeczytałem, przenosi klasy z PermGenu w pamięci Java do pamięci rodzimej.

Czy jest jakaś flaga umożliwiająca rozładowanie nieużywanych zajęć?

Odpowiedz

7

G1 wykonuje rozładunek klasy podczas pełnego GC, więc nie trzeba określać żadnych parametrów, aby to umożliwić.

Możesz samemu się przekonać, używając argumentu -XX:+TraceClassUnloading.

Sprawdź również ten wątek wiadomości e-mail z listy dyskusyjnej HotSpot GC: Bug in G1GC it performs Full GC when code cache is full resulting in overkill. Dyskutują o rozładunku klas w G1 dość szeroko. Podsumowując, możesz użyć -noclassgc, jeśli widzisz problemy z rozładowaniem klasy, ale zazwyczaj nie ma problemów z rozładunkiem klasy w G1.

Powiązane problemy