Como aumentar a memória alocada para java? java.lang.OutOfMemoryError: espaço de heap Java

3

Eu tenho um servidor Ubuntu 12.04 usando um proxy reverso para que o tomcat seja executado em cima do apache. E eu tenho uma instância de confluência nessa máquina e um sistema de tickets. Então nada de especial.

A memória é de 8 GB, mais do que suficiente para esse uso.

De tempos em tempos, e nos últimos dias, com mais frequência, minha página de confluência falha.

O log (confluence \ logs \ catalina.2014-05-06) mostra isso:

SEVERE: Socket accept failed
java.lang.OutOfMemoryError: Java heap space

Então, como posso evitar isso? Como posso dar mais memória ao processo?

    
por Private 06.05.2014 / 12:41

3 respostas

5

No meu sistema eu editei o arquivo

/etc/init.d/tomcat 

com essas linhas

HEAP="-Xms2048m -Xmx2048m" 
export JAVA_OPTS="$HEAP"

Após reiniciar o tomcat você pode ver na seção de status a memória alocada

    
por MickyInTheSky 06.05.2014 / 15:00
1

Você também pode fazer isso no arquivo tomcat/bin/setenv.sh e reiniciar o tomcat:

export JAVA_OPTS="-Xms512m -Xmx1024m"
    
por code chimp 27.09.2015 / 20:49
0

O motivo do erro é devido à maneira como o Java aloca memória. Seus aplicativos podem usar apenas uma quantidade limitada de memória. Esse limite é especificado durante a inicialização do aplicativo.

O tamanho máximo permitido é definido durante o lançamento da JVM, especificando os parâmetros da JVM, como -Xmx. Se você não definir explicitamente os tamanhos, os padrões específicos da plataforma serão usados.

Então - o erro “java.lang.OutOfMemoryError: Java heap space” será acionado quando você tentar adicionar mais dados na área de espaço de heap na memória, mas o tamanho desses dados é maior do que a JVM pode acomodar em o espaço de heap Java.

Portanto, a maneira óbvia é aumentar (ou adicionar se estiver faltando) o tamanho máximo de heap possível especificado pelo parâmetro -Xmx. Mas em muitos casos você está apenas escondendo sintomas em vez de resolver o problema subjacente. Para ver a explicação completa do java.lang.OutOfMemoryError: erro de espaço de heap Java, consulte o site de ajuste de desempenho do Plumbr .

    
por Ivo 08.05.2014 / 16:07

Tags