Timo Meinen | mindmatters wrote:
> Obviously, my screenshot couldn't be attached to the mailinglist, so
> here is it:
> 
> http://timomeinen.de/bilder/PermGenSpace.png

http://markmail.org/message/fcbvwapt6afyndxn

HTH,

Mark

> 
> 
> 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
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to