1

dúvida sincera: como otimizar projetos java spring boot consumindo 500mb parados

Contexto

Tenho um MacBook com 16 GB de RAM e 256 GB de SSD.

No projeto em que estou trabalhando temos vários microsserviços utilizando Spring Boot, sendo que vários deles acessam o mesmo banco de dados.

O problema começa quando preciso subir vários microsserviços localmente ao mesmo tempo. Mesmo sem fazer nada de muito pesado, o consumo de memória começa a ficar alto rapidamente.

Já tentei algumas alternativas para diminuir o consumo de memória das aplicações.

Soluções que já tentei

A primeira foi limitar a memória da JVM utilizando:

-Xms200m -Xmx300m

Isso ajuda bastante a controlar o consumo de cada serviço, principalmente quando preciso executar vários microsserviços ao mesmo tempo.

Também percebi uma diferença considerável na forma como a aplicação é iniciada.

Quando executo diretamente o JAR, o consumo de memória é menor:

java -jar minha-aplicacao.jar

Porém, quando utilizo:

mvn spring-boot:run

o consumo aumenta. No meu caso, chega a ficar aproximadamente 200 MB maior por aplicação.

O problema é que o mvn spring-boot:run acaba sendo mais conveniente durante o desenvolvimento, principalmente por causa do fluxo de desenvolvimento do Spring Boot.

Por outro lado, quando altero o código, não tenho exatamente o mesmo comportamento de um hot reload completo. Então fico nesse dilema:

Menor consumo de memória: executar a aplicação diretamente.

Melhor experiência de desenvolvimento: utilizar o Maven/Spring Boot para executar a aplicação.

Como tenho vários microsserviços rodando simultaneamente, esses poucos centenas de MB acabam fazendo bastante diferença em uma máquina com apenas 16 GB de RAM.

Carregando publicação patrocinada...
1
1

Pra desenvolver features precisa debuggar né, nao da pra ficar rodando um vscode remoto no server pq isso consumiria pelo menos 2gb de RAM a mais lá. A menos que eu montasse um server com proxmox só pra o ambiente de desenvolvimento mas nao tenho autorizacao pra isso e nem grana pra comprar 64gb RAM.