Jboss Application Server Permgen Space

Jboss AS (Application Server) kullanıyor ve uygulamalarınızı deploy ederken ya da çalıştırdıktan bir süre sonra permgen size exception’ı alıyorsanız üzülmeyin  yapmanız gereken application server’ın başlarken kullandığı konfigürasyon dosyasına bir iki ayar çekerek  bu durumdan kurtulabilirsiniz.

Öncelikle  JBOSS_HOME/bin/run.conf dosyasını bir metin editörü ile açın.

pico  jboss_home/bin/run.conf

Sonrasında bu dosya içerisinde şu şekilde başlayan satırı bulun;

if [ "x$JAVA_OPTS" = "x" ]; then

Bu satırın hemen altındaki şu satıra bir iki ekleme yaparak bu problemden kurtulacağız.

JAVA_OPTS="-Xms128m -Xmx512m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

Şimdi bu satırdaki herhangi bir boşluk karakterinden sonra aşağıdakileri ekliyoruz.

-XX:PermSize=256m -XX:MaxPermSize=512m

Eklemeleri yaptıkdan sonra, satırın son hali ile şu şekilde;

JAVA_OPTS="-Xms128m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=512m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

Burdaki –XX:MaxPermSize değişkenini ihtiyacınıza göre yükseltebilirsiniz. Bu arada  -Xms128m ve -Xmx512m şeklindekli parametleri dikkatinizi çekmiştir sanırım. Bu parametlerlerde application server için ayrılan heap miktarıdır. Uygulamanız çalışmaya devam ettikçe uygulamadaki kullanılabilecek nesne sayısına göre bu alanında exception fırlatması an meselesi olabilir onun için buradaki 128m ve 512m parametrelerinini daha sonra ihtiyacınıza göre dünzenleyebirsiniz.  Ben ön tanımlı olarak 512m ve 1024m kullanıyorum.

Kamil Örs
Software Developer 






0.000104188919067 | 3.5