Você está recebendo o erro Caused by: java.lang.OutOfMemoryError: PermGen space ao tentar executar sua aplicação com o Jboss no Intellij ou em outra IDE? Esta postagem irá trazer brevemente a solução desse problema, vamos lá entender todo o contexto.
Porque o erro PermGen Space acontece?
Isso acontece porque a JVM tem um espaço de memória bastante limitada, essa área é chamada de Perm Generation, onde são armazenados os objetos que sua desalocação na memória não é tão frequente, como o caso de código de classes, pool de strings etc.
Por esse espaço ser limitada, seu uso frequente e intenso pode gerar vários erros, que é o caso do java.lang.OutOfMemoryError: PermGen space. Isto indica que não existe mais espaço reservado para o PermGen Space.
The size of all those regions, including the permgen area, is set during the JVM launch. If you do not set the sizes yourself, platform-specific defaults will be used.
The java.lang.OutOfMemoryError: PermGen space message indicates that the Permanent Generation’s area in memory is exhausted. Fonte.
Show me the way
Basicamente você deve aumentar o tamanho de memória nessa área Perm Generation, para isso devemos usar o XX:MaxPermSize, esse exemplo é para aumentar a memória de 64mb que é o padrão, para 128mb em um class:
java -XX:MaxPermSize=128m kelvinsantiago.com.br.MinhaClasse
Se estiver utilizando um servidor de aplicação Tomcat, Jboss, você deve definir esse MaxPermSize na configuração do server, o exemplo a seguir é utilizando o Jboss no Intellij.
Nas configurações da sua aplicação no campo VM Options, insira o código abaixo, isso aumentará o espaço de memória do PermGen para 512mb, assim irá resolver “Erro Caused by: java.lang.OutOfMemoryError: PermGen space“.
-XX:MaxPermSize=512M
Conseguiu resolver?
Bom, chegamos ao fim desse tutorial, espero que essa dica tenha contribuído para seu conhecimento, caso tenha alguma dúvida ou até mesmo queira deixar um feedback, utilize o formulário de comentários abaixo.