Pracuję z tomcat 6.0 i podczas indeksowania (nie podczas uruchamiania tomcat) mam błąd spacji permgen.
Jak mogę zwiększyć tę przestrzeń?
Dzięki
Pracuję z tomcat 6.0 i podczas indeksowania (nie podczas uruchamiania tomcat) mam błąd spacji permgen.
Jak mogę zwiększyć tę przestrzeń?
Dzięki
Odpowiedzi:
Możesz użyć :
-XX:MaxPermSize=128m
zwiększyć przestrzeń. Ale to zwykle tylko opóźnia to, co nieuniknione.
Możesz także zezwolić PermGen na zbieranie śmieci
-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled
Zwykle dzieje się tak podczas wykonywania wielu ponownych wdrożeń. Dziwię się, że używasz czegoś takiego jak indeksowanie. Użyj virtualvm lub jconsole do monitorowania przestrzeni Perm gen i sprawdź, czy wyrównuje się po rozgrzaniu indeksowania.
Może warto rozważyć przejście na inną maszynę JVM, taką jak IBM JVM. Nie ma stałej generacji i jest odporny na ten problem.
W przypadku tomcat możesz zwiększyć przestrzeń permGem za pomocą
-XX:MaxPermSize=128m
W tym celu należy utworzyć (jeśli jeszcze nie istnieje) plik o nazwie setenv.sh w folderze tomcat / bin i dołączyć do niego następujący wiersz
export JAVA_OPTS="-XX:MaxPermSize=128m"
Źródła: http://wiki.razuna.com/display/ecp/Adjusting+Memory+Settings+for+Tomcat
export JAVA_OPTS="-XX:MaxPermSize=128m"
pracował dla mnie z Clojure + lein repl
Możesz również zwiększyć go za pomocą argumentów VM w swoim IDE. W moim przypadku używam Tomcat v7.0, który działa na Eclipse. Aby to zrobić, kliknij dwukrotnie swój serwer (Tomcat v7.0). Kliknij link „Otwórz konfigurację uruchamiania”. Przejdź do zakładki „Argumenty”. Dodaj -XX: MaxPermSize = 512 m do listy argumentów maszyny wirtualnej. Kliknij „Zastosuj”, a następnie „OK”. Uruchom ponownie serwer.
jeśli okazało się, że ustawienia pamięci nie są używane i aby zmienić ustawienia pamięci, użyłem tomcat7w lub tomcat8w w folderze \ bin, po czym powinno się pojawić:
Kliknij kartę Java i dodaj arguments.restart tomcat