Para quem roda aplicações Node.js (Next.js, APIs, React com servidor) na
hospedagem ou revenda da ValueHost e encontrou a aplicação travada, sem
conseguir parar, reiniciar ou excluir, ou viu erros como
fork: Resource temporarily unavailable.
Como o Node.js funciona na hospedagem
- cPanel e DirectAdmin: a aplicação é criada e gerenciada pela função Setup Node.js App. Ali você escolhe a versão do Node.js, o modo (produção ou desenvolvimento), a pasta raiz da aplicação e o arquivo de inicialização.
- Plesk: use a opção Node.js do domínio.
- A pasta raiz da aplicação precisa ser a pasta onde estão os arquivos do projeto. Depois de mudar a pasta, reinicie a aplicação.
- Processos persistentes, rodando o tempo todo, são permitidos, desde que respeitem o limite de processos da conta.
O limite de 100 processos
Cada usuário de hospedagem pode ter até 100 processos simultâneos, e as threads contam nesse limite. Uma única aplicação que abre muitas threads (por exemplo, Next.js com Prisma) pode ocupar quase tudo sozinha. Esse limite não pode ser aumentado nos planos de hospedagem e revenda.
Quando a conta chega a 100 de 100:
- o Setup Node.js App não consegue parar, reiniciar ou excluir a aplicação;
- outras ferramentas do painel, como Git e gerenciador de arquivos, podem dar erro;
- no terminal aparece
fork: Resource temporarily unavailable; - o site pode responder com erro 503.
Como destravar
- Abra um ticket pedindo o encerramento dos processos travados da conta, informando o usuário ou o domínio. A equipe encerra os processos e costuma informar quais deles causaram o travamento.
- Depois, reinicie a aplicação pelo gerenciador Node.js do painel.
- Se o travamento se repetir, leve a lista de processos informada pela equipe ao desenvolvedor da aplicação.
Como evitar que volte
- Faça o build (
npm run build) no seu computador ou na ferramenta de CI e envie para o servidor só os arquivos já compilados.npm installe build pesados rodando no servidor são uma causa frequente de travamento. - Limite na aplicação a quantidade de workers, threads e conexões simultâneas (pools de banco de dados, filas, tarefas em segundo plano).
- Evite deixar comandos longos rodando sem fim, como migrações ou scripts de monitoramento em repetição.
Exemplo de build limitado em memória no package.json:
"scripts": {
"build": "node --max-old-space-size=512 ./node_modules/.bin/next build"
}
Se não resolver
Abra um ticket no departamento Suporte Técnico e Dúvidas com:
- o domínio ou usuário da aplicação e o painel (cPanel, DirectAdmin ou Plesk);
- o erro exato (print da tela ou do terminal);
- o que estava rodando quando travou (por exemplo,
npm install, build ou uma migração).
Não envie senhas.
Esta resposta foi útil?
A sua avaliação nos ajuda a melhorar os artigos.