Jaka darmowa implementacja JVM ma najlepszą obsługę PermGen?

Używam Tomcat6 w JRE6 Sun'a i każda para wdraża OutOfMemoryException: PermGen. Wykonałem rozwiązania Googling PermGen i wypróbowałem wiele poprawek. Żadne nie działa. Przeczytałem wiele dobrych rzeczy na temat JRockit Oracle i jak jego przydział PermGen może być wielkością koncertów (w porównaniu ze 128M Sun) i chociaż nie rozwiązuje problemu, pozwoliłoby mi to na ponowne wdrożenie 100 razy między wyjątkami PermGen w porównaniu do 2 razy teraz.

Problem z JRockit polega na wykorzystaniu go w produkcji, który trzeba kupić WebLogic, który kosztuje tysiące dolarów. Jakie istnieją inne (bezpłatne) opcje, które bardziej tolerują rozszerzenie PermGen? Jak działają poniższe JVM w tym obszarze?

IBM JVMOtwórz JDKCzarny dółKaffe

... inni?

Aktualizacja: Niektórzy pytali, dlaczego sądziłem, że PermGen max to 128M. Powodem jest to, że za każdym razem, gdy próbuję podnieść go powyżej 128M, moja JVM nie może się zainicjować:

[2009-06-18 01:39:44] [info] Error occurred during initialization of VM [2009-06-18 01:39:44] [info] Could not reserve enough space for object heap [2009-06-18 01:39:44] [395 javajni.c] [error] CreateJavaVM Failed

Dziwne, że nie udaje mu się zarezerwować miejsca dla obiektusterta, choć nie jestem pewien, czy jest to „kupa” zamiast „kupa”.

Uruchamiam maszynę JVM z początkową stertą 1024 MB i maksymalną 1536 MB.

Zamknę to pytanie, ponieważ zostało udzielone, tj. „Przełączanie jest bezużyteczne” i zamiast tego zapytajDlaczego mój Sun JVM nie działa z większymi ustawieniami PermGen?

questionAnswers(7)

yourAnswerToTheQuestion