Tomcat 6.0 ile çalışıyorum ve indeksleme yaparken (tomcat'i başlatırken değil), permgen alan hatası alıyorum.
Bu alanı nasıl artırabilirim ??
Teşekkürler
Tomcat 6.0 ile çalışıyorum ve indeksleme yaparken (tomcat'i başlatırken değil), permgen alan hatası alıyorum.
Bu alanı nasıl artırabilirim ??
Teşekkürler
Yanıtlar:
Kullanabilirsiniz :
-XX:MaxPermSize=128m
alanı artırmak için. Ancak bu genellikle sadece kaçınılmaz olanı erteler.
PermGen'in çöplerin toplanmasını da sağlayabilirsiniz.
-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled
Bu genellikle çok sayıda yeniden dağıtım yapıldığında meydana gelir. Endeksleme gibi bir şey kullanmanıza şaşırdım. Perm gen alanını izlemek için virtualvm veya jconsole kullanın ve indekslemeyi ısındıktan sonra seviyelerini kontrol edin.
Belki de IBM JVM gibi başka bir JVM'ye geçmeyi düşünmelisiniz. Kalıcı Nesil yoktur ve bu soruna karşı bağışıktır.
Tomcat için permGem alanını kullanarak
-XX:MaxPermSize=128m
Bunun için tomcat / bin klasöründe setenv.sh adlı bir dosya oluşturmanız (eğer yoksa) ve içine aşağıdaki satırı eklemeniz gerekir.
export JAVA_OPTS="-XX:MaxPermSize=128m"
Referans: http://wiki.razuna.com/display/ecp/Adjusting+Memory+Settings+for+Tomcat
export JAVA_OPTS="-XX:MaxPermSize=128m"
benim için çalıştı Clojure + lein repl
IDE'nizdeki VM argümanları aracılığıyla da artırabilirsiniz. Benim durumumda, Eclipse üzerinde çalışan Tomcat v7.0 kullanıyorum. Bunu yapmak için sunucunuza (Tomcat v7.0) çift tıklayın. 'Başlatma yapılandırmasını aç' bağlantısını tıklayın. 'Bağımsız Değişkenler' sekmesine gidin. VM argümanlar listesine -XX: MaxPermSize = 512m ekleyin. 'Uygula'yı ve ardından' Tamam'ı tıklayın. Sunucunuzu yeniden başlatın.
Bellek ayarlarının kullanılmadığını öğrendiyseniz ve bellek ayarlarını değiştirmek için \ bin klasöründe tomcat7w veya tomcat8w kullandım.
Java sekmesini tıklayın ve arguments.restart tomcat'i ekleyin