[Geoserver-users] Out of Memory catalina problem

Dear all,

···

In a production environment with geoserver 2.7.2 we have often a problem of jvm memory error, as following (catalina log):

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread “http-bio-8080-exec-934”
20 Oct 11:15:16 ERROR [geoserver.ows] -
java.lang.OutOfMemoryError: PermGen space
Exception in thread “http-bio-8080-exec-935”
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread “http-bio-8080-exec-935”
20 Oct 11:15:51 ERROR [geoserver.ows] -
java.lang.OutOfMemoryError: PermGen space
Exception in thread “http-bio-8080-exec-938”
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread “http-bio-8080-exec-938”

The Virtual server has 4 processors and a RAM of 16GB and we have changed the catalina options as folowing:
JAVA_OPTS=“-server -Djava.awt.headless=true -Xms256m -Xmx8194m -XX:+UseParallelGC -XX:SoftRefLRUPolicyMSPerMB=36000 -XX:MaxPermSize=128m”

Perhaps it is oversized, but we do not understand the problem.

Thanks in advanced and best regards,
R

-- 
Eng. Roberto Marzocchi, PhD
R&D coordinator
Gter srl Innovazione in Geomatica, Gnss e Gis
Spin-off Progetto Uni.T.I. promoted by UNIGE
Via Greto di Cornigliano 6r - 16152 Genova
P.IVA/CF 01998770992
ph: 010-8694830 Fax: 010-8694737 
mob: 349-8786575
E-mail: [roberto.marzocchi@anonymised.com](mailto:roberto.marzocchi@anonymised.com)
skype: roberto.marzocchi84
[www.gter.it](http://www.gter.it)

--
Gter social
[www.twitter.com/Gteronline](http://www.twitter.com/Gteronline) - [www.facebook.com/Gteronline](http://www.facebook.com/Gteronline) - [https://plus.google.com/+GterIt/posts](https://plus.google.com/+GterIt/posts) 
[www.linkedin.com/company/gter-srl-innovazione-in-geomatica-gnss-e-gis](http://www.linkedin.com/company/gter-srl-innovazione-in-geomatica-gnss-e-gis)

-----------------------------------------------------------------
Please consider the environment before printing this email! 
-- 
Eng. Roberto Marzocchi, PhD
R&D coordinator
Gter srl Innovazione in Geomatica, Gnss e Gis
Spin-off Progetto Uni.T.I. promoted by UNIGE
Via Greto di Cornigliano 6r - 16152 Genova
P.IVA/CF 01998770992
ph: 010-8694830 Fax: 010-8694737 
mob: 349-8786575
E-mail: [roberto.marzocchi@anonymised.com](mailto:roberto.marzocchi@anonymised.com)
skype: roberto.marzocchi84
[www.gter.it](http://www.gter.it)

--
Gter social
[www.twitter.com/Gteronline](http://www.twitter.com/Gteronline) - [www.facebook.com/Gteronline](http://www.facebook.com/Gteronline) - [https://plus.google.com/+GterIt/posts](https://plus.google.com/+GterIt/posts) 
[www.linkedin.com/company/gter-srl-innovazione-in-geomatica-gnss-e-gis](http://www.linkedin.com/company/gter-srl-innovazione-in-geomatica-gnss-e-gis)

-----------------------------------------------------------------
Please consider the environment before printing this email! 

On Tue, Oct 20, 2015 at 2:04 PM, Roberto Marzocchi <
roberto.marzocchi@anonymised.com> wrote:

Dear all,
In a production environment with geoserver 2.7.2 we have often a problem
of jvm memory error, as following (catalina log):

*Exception: java.lang.OutOfMemoryError thrown from the
UncaughtExceptionHandler in thread "http-bio-8080-exec-934"*
*20 Oct 11:15:16 ERROR [geoserver.ows] -*
*java.lang.OutOfMemoryError: PermGen space*
*Exception in thread "http-bio-8080-exec-935"*
*Exception: java.lang.OutOfMemoryError thrown from the
UncaughtExceptionHandler in thread "http-bio-8080-exec-935"*
*20 Oct 11:15:51 ERROR [geoserver.ows] -*
*java.lang.OutOfMemoryError: PermGen space*
*Exception in thread "http-bio-8080-exec-938"*
*Exception: java.lang.OutOfMemoryError thrown from the
UncaughtExceptionHandler in thread "http-bio-8080-exec-938"*

The Virtual server has 4 processors and a RAM of 16GB and we have changed
the catalina options as folowing:
*JAVA_OPTS="-server -Djava.awt.headless=true -Xms256m -Xmx8194m
-XX:+UseParallelGC -XX:SoftRefLRUPolicyMSPerMB=36000 -XX:MaxPermSize=128m"*

Hum... with 128MB of permgen one should be good, but to avoid the error
above, try to
increase it to 256MB:

*-XX:MaxPermSize=256m*

Just to be sure, the Tomcat only has GeoServer deployed, and it's restarted
every time GeoServer is (you are not
hot-redeploying the application) right?

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

-------------------------------------------------------

Thanks Andrea for the rapid answer!

Ok i will try Not sure… on tomcat we have only geoserver (+ geowebchache + mapfish for printing ). We installed it using the war file. But i do not know if tomcat restart every time geoserver is. Normally when we have problem we restart tomcat and geoserver restart. Cheers, Roberto

···

Il 20/10/2015 14:19, Andrea Aime ha scritto:

On Tue, Oct 20, 2015 at 2:04 PM, Roberto Marzocchi <roberto.marzocchi@anonymised.com> wrote:

Dear all,

In a production environment with geoserver 2.7.2 we have often a problem of jvm memory error, as following (catalina log):

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread “http-bio-8080-exec-934”
20 Oct 11:15:16 ERROR [geoserver.ows] -
java.lang.OutOfMemoryError: PermGen space
Exception in thread “http-bio-8080-exec-935”
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread “http-bio-8080-exec-935”
20 Oct 11:15:51 ERROR [geoserver.ows] -
java.lang.OutOfMemoryError: PermGen space
Exception in thread “http-bio-8080-exec-938”
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread “http-bio-8080-exec-938”

The Virtual server has 4 processors and a RAM of 16GB and we have changed the catalina options as folowing:
JAVA_OPTS=“-server -Djava.awt.headless=true -Xms256m -Xmx8194m -XX:+UseParallelGC -XX:SoftRefLRUPolicyMSPerMB=36000 -XX:MaxPermSize=128m”

Hum… with 128MB of permgen one should be good, but to avoid the error above, try to
increase it to 256MB:

-XX:MaxPermSize=256m

Just to be sure, the Tomcat only has GeoServer deployed, and it’s restarted every time GeoServer is (you are not
hot-redeploying the application) right?

Cheers
Andrea

==
GeoServer Professional Services from the experts! Visit
http://goo.gl/it488V for more information.

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


-- 
Eng. Roberto Marzocchi, PhD
R&D coordinator
Gter srl Innovazione in Geomatica, Gnss e Gis
Spin-off Progetto Uni.T.I. promoted by UNIGE
Via Greto di Cornigliano 6r - 16152 Genova
P.IVA/CF 01998770992
ph: 010-8694830 Fax: 010-8694737 
mob: 349-8786575
E-mail: [roberto.marzocchi@anonymised.com](mailto:roberto.marzocchi@anonymised.com)
skype: roberto.marzocchi84
[www.gter.it](http://www.gter.it)

--
Gter social
[www.twitter.com/Gteronline](http://www.twitter.com/Gteronline) - [www.facebook.com/Gteronline](http://www.facebook.com/Gteronline) - [https://plus.google.com/+GterIt/posts](https://plus.google.com/+GterIt/posts) 
[www.linkedin.com/company/gter-srl-innovazione-in-geomatica-gnss-e-gis](http://www.linkedin.com/company/gter-srl-innovazione-in-geomatica-gnss-e-gis)

-----------------------------------------------------------------
Please consider the environment before printing this email! 

Dear Andrea,

If I correctly understand, you suggest to create a specific init script for geoserver (http://docs.geoserver.org/2.7.2/user/production/linuxscript.html)?

We have a ubuntu 14.04 server with apache tomcat server... which script? the http://docs.geoserver.org/2.7.2/user/_downloads/geoserver_tomcat ?

we need yo re-use the JAVA_OPTS and other variables?

And what about the tomcat script? we need to remove it?

Thanks for you help.

R

Il 20/10/2015 14:33, Roberto Marzocchi ha scritto:

Just to be sure, the Tomcat only has GeoServer deployed, and it's restarted every time GeoServer is (you are not
hot-redeploying the application) right?

Not sure.. on tomcat we have only geoserver (+ geowebchache + mapfish for printing ). We installed it using the war file. But i do not know if tomcat restart every time geoserver is. Normally when we have problem we restart tomcat and geoserver restart.

--
Eng. Roberto Marzocchi, PhD
R&D coordinator
Gter srl Innovazione in Geomatica, Gnss e Gis
Spin-off Progetto Uni.T.I. promoted by UNIGE
Via Greto di Cornigliano 6r - 16152 Genova
P.IVA/CF 01998770992
ph: 010-8694830 Fax: 010-8694737
mob: 349-8786575
E-mail: roberto.marzocchi@anonymised.com
skype: roberto.marzocchi84
www.gter.it

--
Gter social
www.twitter.com/Gteronline - www.facebook.com/Gteronline - https://plus.google.com/+GterIt/posts
www.linkedin.com/company/gter-srl-innovazione-in-geomatica-gnss-e-gis

-----------------------------------------------------------------
Please consider the environment before printing this email!

On 21/10/15 01:19, Andrea Aime wrote:

Hum... with 128MB of permgen one should be good, but to avoid the error
above, try to
increase it to 256MB:
*-XX:MaxPermSize=256m*

Also note that Java 8 (Oracle and OpenJDK) uses native memory for class metadata (called Metaspace). PermGen no longer exists in these implementations, so you no longer have to guess an upper bound. You can still run out of memory, but Java 8 will never run out of PermGen.

See this blog post for more and a discussion of options to limit Metaspace, which is unlimited by default:
https://blogs.oracle.com/poonam/entry/about_g1_garbage_collector_permanent

Kind regards,

--
Ben Caradoc-Davies <ben@anonymised.com>
Director
Transient Software Limited <http://transient.nz/&gt;
New Zealand