fork: prøv på nytt: Ressurs er midlertidig utilgjengelig

Mens jeg kobler til serveren min 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 å følge kommandoer også, så blir 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 ut som om swap er overbelastet (/ tmp filsystem muligens full)
  • ulimit -a, kanskje du har nådd en prosessgrense

Svar

Dette kan skyldes noen ressursgrenser, enten på selve serveren (eller) spesifikk for brukerkontoen din. Grenser i skallet ditt kan kontrolleres via ulimit -a. Esp sjekk for ulimit -u maks brukerprosesser, hvis du har nådd maksimale prosesser, kan fork ikke opprette noe nytt og mislykkes med den feilen. Dette kan også skyldes bytte / minne ressursproblem

Svar

gaffel: Ressurs midlertidig utilgjengelig

Feilen betyr at den gjeldende skallressursen er begrenset (sjekk grensene med ulimit -a). Så du kan enten prøve i et annet skall, eller øke ressursene ved å bruke ulimit -kommandoen som kontrollerer ressursene som er tilgjengelige for skallet og prosesser det oppretter på operativsystemet.

For å øke grensene, prøv å løpe:

ulimit -Sn unlimited && ulimit -Sl unlimited 

for å heve de myke grensene til harde, eller:

ulimit -l unlimited ulimit -n 10240 

for å angi maksimal størrelse en prosess til ubegrenset og maksimalt antall åpne filer til 10240.

Se: help ulimit for mer informasjon.

For å gjøre det vedvarende, legg til innstillingene ovenfor i oppstarts rc filer (f.eks. ~/.bashrc).


Du kan også bruke /etc/sysctl.conf (se: man sysctl.conf) for å øke kjernegrensene, f.eks.

kern.maxprocperuid=1000 kern.maxproc=2000 

Kommentarer

  • Når denne feilen oppstår, gjør " prøv på nytt " anty at den vil forsøke gjentatte ganger til res ources blir tilgjengelig?
  • @DavidB Eller at det prøvde på nytt, men mislyktes.
  • kern.maxprocperuid, kern.maxproc, kernel.maxprocperuid og kernel. maxproc eksisterer ikke på Ubuntu. Hva er alternativet der?

Svar

Problemet kan også løses ved hjelp av følgende kommandoer:

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

Her er bruker1 brukergruppen som grensen er overskredet for

Kommentarer

  • Å drepe hver eneste prosess som tilhører brukeren virker litt heftig. Også at kommandoen yum sannsynligvis ikke vil være i stand til å forkaste heller.
  • Kommandoen yum kjøres gjennom rotbrukeren, forutsatt at problemet har oppstått på en annen bruker enn root
  • Hvis skallet ikke klarer å forkaste df, vil det også ha problemer med å kjøre sudo.
  • BOFH-stil. Jeg liker det!

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *