O n8n sem memória: as causas

Quando o n8n fica sem memória, ou o sistema mata o contentor (e, com o reinício automático, o Docker volta a levantá-lo sem aviso) ou o fluxo falha com um erro de memória. Quase sempre a causa é a mesma: um fluxo carrega dados a mais de uma só vez. Menos vezes, é o histórico de execuções a crescer, ou um VPS pequeno para tudo o que lá corre.

Confirmar que é memória

1 Veja o consumo ao vivo com docker stats, enquanto o fluxo suspeito corre. Se a memória do contentor sobe até ao fim e ele cai, é isto.
2 Veja a memória do VPS inteiro com free -h. Pode ser outro contentor a consumir, e não o n8n.
3 Pergunte ao Docker se foi morto por falta de memória: docker inspect do contentor mostra um campo «OOMKilled» no estado.
4 Veja os registos com docker compose logs no momento da queda, e a hora a que o contentor reiniciou, para saber que fluxo estava a correr.

As causas, e o que fazer a cada uma

Causa O que fazer
Um nó lê milhares de linhas de uma vez (base de dados, folha de cálculo, API) Peça só as colunas e as linhas de que precisa e processe em lotes, com o nó próprio para isso, descrito na documentação.
Ficheiros grandes ou imagens a passar pelo fluxo Os dados binários ocupam memória. A documentação do n8n descreve como os guardar em disco em vez de memória; procure as variáveis dos dados binários.
Um fluxo chama outro e devolve-lhe tudo Parta o trabalho em sub-fluxos que devolvam só o que o seguinte precisa.
Muitas execuções ao mesmo tempo Espalhe os horários dos agendamentos. Para cargas grandes, a documentação descreve um modo com filas e trabalhadores separados.
Histórico de execuções enorme Ligue a limpeza automática das execuções antigas (variáveis descritas na documentação) e escolha, nas definições do fluxo, o que vale a pena guardar. Os fluxos muito frequentes enchem o histórico depressa.
O nó de código a trabalhar com tudo em memória Faça o filtro antes de chegar ao nó, e devolva só o necessário.
VPS pequeno, com outros contentores a ajudar Some o que cada serviço usa. Se não cabe, o problema é o plano, não o n8n.
Subir o limite de memória do Node não cria memória. O n8n é uma aplicação Node.js e há uma opção para lhe dar mais espaço de trabalho, mas se a máquina não tem a memória, só adia a queda e arrisca-se a que o sistema mate outros serviços. Corrija o fluxo primeiro.

Quando é mesmo o plano

Se os fluxos já estão em lotes e a memória continua curta, é a altura de mudar de plano. Compare em Servidores VPS e em Servidores Cloud. Antes, uma olhada ao disco e às outras causas comuns de quedas em erros comuns em VPS e Cloud, e ao espaço que o Docker ocupa em Docker a encher o disco.

Mude uma coisa de cada vez e meça outra vez com docker stats. Assim sabe qual das mudanças resolveu, e não fica com cinco alterações que ninguém lembra.

Precisa de mais memória? Compare os planos de VPS e Cloud.

Ver os servidores VPS

VEJA TAMBÉM

Servidores VPS

Erros comuns em VPS e Cloud: SSH, memória, disco e reinícios

Docker a encher o disco: imagens, volumes e registos

Precisa de um VPS para o n8n?

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 5.940,00 Kz/mês (plano de 3 anos, com cupão)

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?