Tempo aproximado para leitura: 00:02:00 min
Ocorrência
Ocorre o erro java.lang.OutOfMemoryError: Metaspace nos logs do servidor Wildfly, resultando em indisponibilidade, lentidão.
Ambiente
Cross Segmentos - TOTVS CRM Automação de Força de Vendas (SFA) - Infraestrutura - Todas as Versões
Causa
Esse erro pode ocorrer devido os seguintes pontos:
Configuração de limite de memória subdimensionada para a necessidade real das aplicações.
Retenção de metadados antigos devido a múltiplos deploys sem reinício do serviço.
Carga elevada de geração de classes em tempo de execução.
Solução
1. Ao analisar o log do Wildfly é identificaod o erro java.lang.OutOfMemoryError: Metaspace:
2. Caso o serviço do Wildfly esteja ativo, pare o mesmo no sistema operacional.
3. Acesse o diretório raiz de instalação do Wildfly e navegue até a pasta bin.
4. Abra o arquivo de configuração correspondente ao seu sistema operacional em um editor de texto. O parâmetro pode estar setado no arquivo standalone ou no arquivo de variáveis da aplicação:
No Windows: standalone.conf.bat (no diretório bin do Wildfly) ou no arquivo de variáveis em C:\ws\install\ws_variaveis.bat.
No Linux: standalone.conf (no diretório bin do Wildfly) ou no arquivo de variáveis em /ws/install/ws_variaveis.sh.
5. Localize a variável de configuração correspondente ao arquivo aberto:
Se estiver editando os arquivos
standalone(standalone.conf.batoustandalone.conf), localize a linha que define a variávelJAVA_OPTS.Se estiver editando o arquivo de variáveis da aplicação (
ws_variaveis.batouws_variaveis.sh), localize a linha que define a variávelMEM_WILDFLY.
Exemplos de como podem estar as configurações:
standalone.conf.bat:
standalone.conf.bat utilizando variável de ambiente:
ws_variaveis.bat:
6. Adicione ou ajuste o parâmetro "-XX:MaxMetaspaceSize=" para um valor superior ao configurado atualmente. Recomenda-se utilizar valores como "-XX:MaxMetaspaceSize=512m" ou "-XX:MaxMetaspaceSize=512m", respeitando a capacidade de memória disponível no servidor.
Importante!
É recomendado que além do parametro MaxMetaspaceSize, adicionar o mínimo com o parametro "-XX:MaxMetaspaceSize=96m"
7. Salve e feche o arquivo.
8. Inicie o serviço do Wildfly.
9. Acompanhe a inicialização através do arquivo server.log para certificar-se de que o ambiente estabilizou e a exceção de OutOfMemory não é mais apresentada.
0 Comentários