Obviously, my screenshot couldn't be attached to the mailinglist, so
here is it:
http://timomeinen.de/bilder/PermGenSpace.png
Best regards
Timo Meinen
Am 23.06.2009 um 10:26 schrieb Timo Meinen | mindmatters:
Hello,
we host a Tomcat 6 server with several webapps on it. It is used for
continuous integration, so the test webapps are deployed often. We
run into OutOfMemoryError: PermGen space after some redeployments
and cannot find a solution.
I connected JConsole remotely and made a screenshot after some
redeployments. The screenshot is attached to this mail. After the
first redeployment of webapp 1 the PermGen raises to 150MB and after
the deployment it is freed to 115 MB, which seems to be ok. However,
the second redeployment won't release the PermGen as you can see on
the screenshot. After that, every redeployment will take another
40MB of PermGen space wich leads to the OutOfMemory error, because
we set the MaxPermSize to 256m.
I tried a manual GC, but this worked only once (see screenshot).
After this, the GC was useless.
The start parameters of the tomcat server are:
-server -Xmx1g -XX:MaxPermSize=256m -XX:+CMSClassUnloadingEnabled -
Djava.awt.headless=true -
javaagent:org.springframework.instrument-3.0.0.M2.jar
The stacktrace is:
SEVERE: org/springframework/web/context/request/
AbstractRequestAttributes
java.lang.OutOfMemoryError: PermGen space
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
at java.lang.Class.getDeclaredMethod(Class.java:1935)
at
java.io.ObjectStreamClass.getPrivateMethod(ObjectStreamClass.java:
1382)
at java.io.ObjectStreamClass.access$1700(ObjectStreamClass.java:52)
at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:438)
at java.security.AccessController.doPrivileged(Native Method)
at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:413)
at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:310)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:
1106)
at
java
.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
1509)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
1474)
at
java
.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:
1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:
1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:
326)
at java.util.ArrayList.writeObject(ArrayList.java:570)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun
.reflect
.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun
.reflect
.DelegatingMethodAccessorImpl
.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:
945)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
1461)
at
java
.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:
1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:
1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:
326)
at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:274)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:
315)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:
535)
at sun.rmi.transport.tcp.TCPTransport
$ConnectionHandler.run0(TCPTransport.java:790)
And the screenshot:
Any help would be great for us. Thank you very much.
Timo Meinen
--
---------------------------------------------------------------------------
mindmatters GmbH &
Co. KG
Neuer Kamp 30
20357 Hamburg - St. Pauli
Fon: +49 40 4840593 0
Fax: +49 40 4840593 9
Website: www.mindmatters.de
Handelsregister: Amtsgericht Hamburg | HRA 97304 | UID DE225251880
Persönl. haftende Gesellschafterin: mindmatters
Verwaltungsgesellschaft mbH
Amtsgericht Hamburg | HRB 84595 | Geschäftsführer: Frank Schmitz
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org
Viele Grüße
Timo Meinen
--
---------------------------------------------------------------------------
mindmatters GmbH &
Co. KG
Neuer Kamp 30
20357 Hamburg - St. Pauli
Fon: +49 40 4840593 0
Fax: +49 40 4840593 9
Website: www.mindmatters.de
Handelsregister: Amtsgericht Hamburg | HRA 97304 | UID DE225251880
Persönl. haftende Gesellschafterin: mindmatters
Verwaltungsgesellschaft mbH
Amtsgericht Hamburg | HRB 84595 | Geschäftsführer: Frank Schmitz
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org