Java.lang.OutOfMemoryError: PermGen space

5 respostas
luuu

boa tarde,

estou com esse problema no meu tomcat.

SEVERE: Servlet.service() for servlet Status threw exception
java.lang.OutOfMemoryError: PermGen space

Dei uma pesquisada e parece que se voce faz deploys e redeploys no tomcat, ele acaba caindo nesse erro, e agora eu nao consigo mais usar nenhuma aplicação, nem dar shutdown start no meu tomcat.

O servidor fica numa maquina remota com linux, e gostaria de saber como posso resolver isso, ou zerar a PermGen space.

obrigado,

5 Respostas

luuu

obs.

qdo executo o ./shutdown.sh

ele traz o seguinte stacktrace

Using CATALINA_BASE:   /opt/alfresco/tomcat
Using CATALINA_HOME:   /opt/alfresco/tomcat
Using CATALINA_TMPDIR: /opt/alfresco/tomcat/temp
Using JRE_HOME:       /usr/java/jdk1.6.0/jre
17/03/2008 15:55:55 org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop:
java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:519)
        at java.net.Socket.connect(Socket.java:469)
        at java.net.Socket.<init>(Socket.java:366)
        at java.net.Socket.<init>(Socket.java:179)
        at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:395)
        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 org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:344)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:435)
luuu

bom eu consegui dar shutdown no tomcat usando kill pid no linux.

restartando o tomcat a memoria está limpa?

felipedamiani

cara, isso acontece frequentemente com a minha máquina, já configurei memória pra ele e nada, volta e meia tenho este problema tbm, no meu caso fiz um script pra matar e iniciar o tomcat (gambiarra) hehehe, mas agiliza um pouco. se conseguir alguma coisa posta ai, até!

jrpmoraes
luzeras:
obs.

qdo executo o ./shutdown.sh

ele traz o seguinte stacktrace

Using CATALINA_BASE:   /opt/alfresco/tomcat
Using CATALINA_HOME:   /opt/alfresco/tomcat
Using CATALINA_TMPDIR: /opt/alfresco/tomcat/temp
Using JRE_HOME:       /usr/java/jdk1.6.0/jre
17/03/2008 15:55:55 org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop:
java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:519)
        at java.net.Socket.connect(Socket.java:469)
        at java.net.Socket.<init>(Socket.java:366)
        at java.net.Socket.<init>(Socket.java:179)
        at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:395)
        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 org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:344)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:435)

Aqui aconteceu algo aprecido...
porem aconteceu aparti do momento que o tomcat inicializa junto com o linux.
removi o comando que fazia isso,
e voltou ao normal,
nao entendi o pq... mas resolveu.

thiago.correa

Esse assunto já foi discutido várias vezes aqui no fórum

http://www.guj.com.br/jforum.java?module=search&action=search&search_keywords=java.lang.OutOfMemoryError%3A+PermGen+space+

inclusive as soluções dele!!!

Criado 17 de março de 2008
Ultima resposta 17 de jun. de 2009
Respostas 5
Participantes 4