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.
1 | pico jboss_home/bin/run.conf |
Sonrasında bu dosya içerisinde şu şekilde başlayan satırı bulun;
1 | if [ "x$JAVA_OPTS" = "x" ]; then |
Bu satırın hemen altındaki şu satıra bir iki ekleme yaparak bu problemden kurtulacağız.
1 | 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.
1 | -XX:PermSize=256m -XX:MaxPermSize=512m |
Eklemeleri yaptıkdan sonra, satırın son hali ile şu şekilde;
1 | 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.
Programlama ve hayata dair yazılar yazdığım bloguma hoş geldiniz.
Adım Kamil. 23 yaşındayım. Yazılım geliştiricisiyim. Selçuk Üni. Bilgisayar Programcılığı
bölümünden mezunum. Açık Öğretim İktisat Fakultesi 3. sınıf öğrencisiyim. Profesyonel hayatımda java ve php tabanlı
yazılımlar geliştirmekteyim. Antalya'da bir turizm firmasında yazılım geliştirme
uzmanı olarak çalışmaktayım.

