Tomcat PermGen, Heap space

Spesso lavorando con application server come Tomcat, Jetty o Websphere ci si può imbattere in problematiche comuni dove non sono solamente le risorse del sistema operativo da verificare e configurare correttamente.

Questi application server infatti vengono eseguiti su una virtual machine che deve essere opportunamente monitorata e configurata. E’ come dovessimo avere un doppio sistema di controllo sia per la memoria del sistema operativo che di quella della virutal machine di Java (JVM).

Solitamente molte installazioni di default utilizzano i parametri standard di JVM e capita spesso di avere errori del tipo java.lang.OutOfMemoryError: PermGen space o java.lang.OutOfMemoryError: Java heap space.

In questi caso è obbligatorio aumentare la capacità di memoria gestita da JVM, infatti la virutal machine non utilizza più memoria di quella configurata.

Un sistema di monitoraggio interessante incluso nel JDK di Java è Jconsole, attraverso una comoda GUI è possibile connettersi alla JVM o a qualsiasi applicazione che supporti la tecnologia JMX per monitorare le applicazioni Java e la virtual machine.

Risulta molto piu semplice monitorare e verificare le performance dell’applicazione Java permettendo di poter effettuare un tuning che corrisponde alle vere esigenze del sistema e scoprire anche inaspettati memory leak prima di entrare nella produzione del servizio.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>