Por que meu app Node.js está usando tanta memória depois de alguns dias?

michelle27 AU 🔍 Entusiasta 👁 47 ⚑ Denunciar Programação

Tenho um backend Node.js rodando em um droplet da DigitalOcean que processa webhooks. Depois de alguns dias de execução, o uso de memória sobe para uns 80-90% e preciso reiniciar. Não vejo nenhum vazamento de memória óbvio no meu código. Devo procurar no event loop ou é algo relacionado a como o Node lida com garbage collection?

1 respostas

wolf88 IN 🔍 Entusiasta 💬 45 respostas

Verifique seus manipuladores de webhook primeiro - conexões não terminadas, objetos acumulados em closures ou buffers que não estão sendo liberados são os culpados usuais, muito mais comuns que problemas de coleta de lixo. Use algo como clinic.js ou snapshots de heap integrados para ver o que realmente está ficando na memória em vez de adivinhar. O event loop em si raramente causa inchaço de memória; é quase sempre objetos que nunca são limpos. Se nada óbvio aparecer no seu código, procure em suas dependências - às vezes uma biblioteca faz cache de coisas agressivamente ou tem um bug que foi corrigido em uma versão mais recente.

Sua resposta

Entrarpara responder.