Configuração do Heroku Procfile para Spring Boot sendo substituída por valores padrão

0

Eu tenho um aplicativo de inicialização de mola e continuo recebendo avisos de memória R14 no heroku. Acredito que o problema esteja na coleta de lixo e no tamanho de heap pouco frequentes, pois a ativação manual do coletor de lixo em um intervalo constante faz com que o problema desapareça, mesmo quando o teste de estresse é feito com usuários virtuais. Então, o meu próximo passo foi fornecer uma solução mais limpa, otimizando o jvm em vez de acionar o gc manualmente. Reduzi o tamanho de heap padrão de 300 para 250m e defini o limite de geração antigo em 50%. Com esta configuração na minha máquina local, o heap usado estava entre 50-70mb, o que deve ser ok. Eu então tentei definir as configurações do jvm no heroku. Vendo as opções padrão quando não apresentei nenhum procfile sendo:

web:  java -Dserver.port=$PORT $JAVA_OPTS -jar build/libs/*.jar

Eu adicionei meus parâmetros desejados da seguinte forma:

web: java -Dserver.port=$PORT $JAVA_OPTS -jar build/libs/*.jar -Xms64m -Xmx250m -XX:CMSInitiatingOccupancyFraction=50 -XX:+PrintGCDetails -Xlog:gc

No entanto, isso não funcionará.

Durante a inicialização, recebo esta mensagem:

Starting process with command 'java -Dserver.port=22382 $JAVA_OPTS -jar build/libs/*.jar -Xms64m -Xmx250m -XX:CMSInitiatingOccupancyFraction=50 -XX:+PrintGCDetails -Xlog:gc'

Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them.

Picked up JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -Dfile.encoding=UTF-8 

Também não consigo ver nenhuma mensagem do coletor de lixo e o erro R14 retornou.

    
por jsk 03.09.2018 / 19:42

0 respostas

Tags