Todos os produtos
Search
Central de documentação

Alibaba Cloud Linux:O que fazer se não for possível criar um grande número de processos em uma instância Alibaba Cloud Linux 2?

Última atualização: Jun 29, 2026

Este tópico descreve as causas e soluções para falhas na criação de processos em uma instância Elastic Compute Service (ECS) com Alibaba Cloud Linux 2.

Sintomas

Ao executar a chamada de sistema fork ou clone na instância, o erro -1 EAGAIN (Resource temporarily unavailable) é exibido e impede a criação de novos processos. Essa falha manifesta-se de duas formas:

  • Falha em comandos shell: A execução de comandos shell gera a mensagem bash: fork: retry: No child processes.

  • Falha específica de aplicação: Não é possível criar processos ou threads para determinadas aplicações, enquanto outras funcionam normalmente.

Causas

O erro EAGAIN ocorre quando algum dos seguintes limites do sistema é atingido:

Limite

Descrição

Comando de diagnóstico

Limite de threads por usuário

O usuário do sistema atingiu o número máximo de threads permitidas. Geralmente, isso causa falha generalizada nos comandos shell.

ulimit -u

Limite específico da aplicação (app_limit)

A quantidade de processos (nr_user_process) criados pelo usuário de runtime para uma aplicação específica excede o limite superior dessa aplicação. Apenas a aplicação afetada apresenta falha.

Solução 1: Aumentar o limite de threads para o usuário do sistema

Adote esta solução quando os comandos shell falharem com a mensagem bash: fork: retry: No child processes.

Etapa 1: Identificar e encerrar threads que consomem recursos excessivos

  1. Identifique quais aplicações estão consumindo mais threads.

  2. Encerre qualquer aplicação que ocupe um número excessivo de threads. Substitua <PID> pelo ID do processo (PID) da aplicação a ser encerrada.

    Aviso

    O comando kill encerra processos imediatamente e pode causar perda de dados. Antes de executá-lo, crie um snapshot da instância ou faça backup dos arquivos críticos.

    kill -9 <PID>

Etapa 2: Elevar o limite de threads

Substitua <$Num_Of_Process> pelo novo valor de limite.

ulimit -u <$Num_Of_Process>

Solução 2: Aumentar o limite de recursos para um processo específico

Utilize esta solução quando apenas aplicações específicas falharem ao criar processos ou threads.

  1. (Opcional) Caso o util-linux não esteja instalado, instale-o primeiro.

    yum install -y util-linux
  2. Defina o limite de processos como ilimitado para o processo alvo. Substitua <$PID> pelo PID do processo.

    prlimit --pid <$PID> --nproc=unlimited

    Essa alteração entra em vigor imediatamente para o processo em execução, mas não persiste após a reinicialização do processo.