fork: retry: Ressource midlertidigt utilgængelig

Mens jeg opretter forbindelse til min server, får jeg,

-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 

Og jeg prøver også at følge kommandoer, så er resultatet det samme.

-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$ 

Hvorfor dette kommer? Og hvordan kan jeg løse det?

Kommentarer

  • Ser ud som om swap er overbelastet (/ tmp filsystem muligvis fuld)
  • ulimit -a, måske når du en eller anden procesgrænse

Svar

Dette kan enten skyldes en eller anden ressourcebegrænsning på selve serveren (eller) specifikt for din brugerkonto. Grænser i din skal kunne kontrolleres via ulimit -a. Esp check for ulimit -u max brugerprocesser, hvis du har nået max processer, kan fork ikke oprette nye og fejle med denne fejl. Dette kan også skyldes problem med bytte / hukommelsesressource

Svar

fork: Ressource er midlertidigt utilgængelig

Fejlen betyder, at den aktuelle shell-ressource er begrænset (tjek grænserne med ulimit -a). Så du kan enten prøve i en anden skal eller øge ressourcerne ved hjælp af ulimit kommando, der styrer ressourcerne til rådighed for skallen og processer, den opretter på operativsystemet.

For at øge grænserne, prøv at køre:

ulimit -Sn unlimited && ulimit -Sl unlimited 

for at hæve de bløde grænser til hårde, eller:

ulimit -l unlimited ulimit -n 10240 

for at indstille den maksimale størrelse en proces til ubegrænset og det maksimale antal åbne filer til 10240.

Se: help ulimit for flere oplysninger.

For at gøre det vedholdende skal du tilføje ovenstående indstillinger til dine start rc filer (f.eks. ~/.bashrc).


Du kan også bruge /etc/sysctl.conf (se: man sysctl.conf) til at øge kernelgrænserne, f.eks.

kern.maxprocperuid=1000 kern.maxproc=2000 

Kommentarer

  • Når denne fejl opstår, sker " prøv igen " antyde, at det gentagne gange vil forsøge indtil res ources bliver tilgængelige?
  • @DavidB Eller at det forsøgte igen, men det mislykkedes.
  • kern.maxprocperuid, kern.maxproc, kernel.maxprocperuid og kernel. maxproc findes ikke på Ubuntu. Hvad er alternativet der?

Svar

Problemet kan også løses ved hjælp af følgende kommandoer:

yum install psmisc killall -STOP -u user1 killall -KILL -u user1 

Her er bruger1 den brugergruppe, for hvilken grænsen er overskredet

Kommentarer

  • At dræbe hver eneste proces, der tilhører brugeren, virker lidt hævet. Også, at yum -kommandoen sandsynligvis ikke ville være i stand til at forkaste heller.
  • Kommandoen yum køres gennem rodbrugeren, forudsat at problemet er opstået på en anden bruger end root
  • Hvis skallen ikke kan forkaste df, vil det også have problemer med at køre sudo.
  • BOFH-stil. Jeg kan lide det!

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *