Falta memória livre no plano
O que significa: a memória que você pediu para o projeto passa do que sobra no plano (insufficient_memory). Aparece ao criar um projeto ou ao aumentar a memória de um.
Por que acontece: a memória de cada projeto fica reservada mesmo com ele parado. A mensagem diz quanto está livre.
Como corrigir:
- Peça menos memória. O mínimo é 100 MB para bot e 512 MB para site.
- Ou diminua a memória de outro projeto em Configurações › Geral, ou exclua um que não usa.
- Ou mude de plano em Plano e cobrança.
Não cabe no seu plano agora
O que significa: ligar este projeto passaria da memória do plano junto com os que já estão ligados (plan_limit_reached).
Como corrigir: pare outro projeto ou diminua a memória deste em Configurações › Geral, e inicie de novo.
Caiu por falta de memória
O que significa: o processo passou da memória reservada do projeto e foi encerrado. Nos planos pagos, ele volta sozinho; se cair de novo e de novo, entra em loop de erro. Os outros projetos seguem no ar. Por que acontece: a memória reservada é pequena para o que o projeto faz, ou algo cresce sem parar (um cache que nunca limpa, uma lista que só recebe itens, arquivos grandes lidos inteiros). Como sabe que foi isso: o gráfico de Memória encosta no limite antes da queda. Nos planos pagos, o aviso por e-mail diz “por falta de memória”. Pela API,lastExit.isOutOfMemory vem true (o código de saída costuma ser 137). Às vezes o log não mostra erro nenhum: o processo só para.
Como corrigir:
- Olhe o gráfico de Memória na janela de 1 hora ou 24 horas. Se ele sobe sem parar, procure o que cresce no código.
- Limite os caches: no discord.js, use
makeCacheesweeperspara não guardar todas as mensagens e membros. - Se o uso é estável e só está apertado, aumente a memória em Configurações › Geral. Vale no próximo reinício.
index.js
FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
O que significa: o Node.js chegou ao limite de memória dele (o heap) e parou.
Por que acontece: o mesmo motivo de Caiu por falta de memória: o código guarda mais do que a memória do projeto comporta.
Como corrigir:
- Procure o que cresce sem parar, como acima.
- Deixe o limite do Node.js abaixo da memória do projeto, uns 75% dela, para ele liberar memória antes de chegar ao teto. Num projeto de 512 MB:
Comando de início
O projeto está com a memória alta
O que significa: o projeto ficou 5 minutos seguidos com 90% ou mais da memória reservada. É o aviso por e-mail dos planos pagos (veja Avisos por e-mail). Por que acontece: perto do limite, o projeto fica lento e pode cair por falta de memória. Como corrigir: aumente a memória em Configurações › Geral ou procure nos logs o que cresce sem parar, como em Caiu por falta de memória.O projeto está lento
O que significa: o bot demora para responder ou o site demora para carregar, mas não cai. Por que acontece:- Memória perto do teto: o projeto passa mais tempo liberando memória do que trabalhando.
- Processador no limite: o gráfico de Processador fica perto do total do plano (100% é um núcleo inteiro). O processador do plano é dividido entre todos os projetos da conta, então um projeto que usa tudo deixa os outros lentos.
- Trabalho pesado no mesmo processo: um laço longo ou uma conta grande trava o Node.js e o Python enquanto roda, e nada mais anda.
- Confira os gráficos de Memória e Processador na aba Projeto, e o Uso da conta.
- Se a memória está perto do teto, siga Caiu por falta de memória.
- Se o processador está no limite, procure o que roda sem parar (laços,
setIntervalcurtos demais) ou mude para um plano com mais processador.
ENOSPC: no space left on device
O que significa: acabou o espaço onde o código tentou gravar. No explorador de arquivos, a mesma coisa aparece como O espaço do projeto acabou.
Por que acontece:
- Na pasta do projeto: cada projeto tem um espaço em disco próprio, e ele encheu (logs gravados em arquivo, downloads, um banco SQLite que cresce).
- Em
/tmp: ele é pequeno, fica na memória do projeto e é apagado quando o projeto reinicia.
- Veja quanto o projeto usa em Uso, na coluna Disco.
- Apague o que o projeto não usa pela aba Arquivos, e limite o que ele grava (rotacione logs, apague arquivos temporários).
- Grave arquivos grandes na pasta do projeto, não em
/tmp.
Logs › Aplicação

