fork: try: Recurso temporariamente indisponível

16

Enquanto me conecto ao meu servidor, obtenho

-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: Resource temporarily unavailable

E eu tento seguir os comandos também, então o resultado é o mesmo.

-bash-4.1$ df -h
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: Resource temporarily unavailable
-bash-4.1$ 
-bash-4.1$ ls -lrth
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: Interrupted system call
-bash-4.1$ 
-bash-4.1$ ps -aef | grep 'pwd'
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: Resource temporarily unavailable
-bash-4.1$ 

Por que isso vem? E como posso resolver isso?

    
por Rakesh KR 22.05.2015 / 11:31

2 respostas

11

Isso pode ser devido a algum limite de recursos, seja no próprio servidor (ou) específico da sua conta de usuário. Limites no seu shell podem ser verificados via ulimit -a . Esp verificar por ulimit -u max processos do usuário, se você tiver atingido os processos máximos, bifurcação é incapaz de criar qualquer novo e falhando com esse erro. Isso também pode ser devido ao problema do recurso de troca / memória

    
por 22.05.2015 / 15:35
7

fork: Resource temporarily unavailable

O erro significa que o recurso de shell atual é limitado (verifique os limites em ulimit -a ). Assim, você pode tentar em outro shell ou aumentar os recursos usando o comando ulimit , que controla os recursos disponíveis para o shell e os processos criados no sistema operacional.

Para aumentar os limites, tente executar:

ulimit -Sn unlimited && ulimit -Sl unlimited

para aumentar os limites flexíveis para um disco rígido ou:

ulimit -l unlimited
ulimit -n 10240 

para definir o tamanho máximo de um processo como ilimitado e o número máximo de arquivos abertos para 10240.

Veja: help ulimit para mais informações.

Para torná-lo persistente, adicione as configurações acima em seus arquivos de inicialização rc (por exemplo, ~/.bashrc ).

Você também pode usar /etc/sysctl.conf (ver: man sysctl.conf ) para aumentar os limites do kernel, por exemplo

kern.maxprocperuid=1000
kern.maxproc=2000
    
por 29.06.2016 / 14:04

Tags