fork: retry: Resource dočasně nedostupný

Během připojování k serveru dostávám,

-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 

A zkusím také následující příkazy, pak je výsledek stejný.

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

Proč to přichází? A jak to mohu vyřešit?

Komentáře

  • Vypadá to, že je swap přetížen (/ tmp souborový systém pravděpodobně plný)
  • ulimit -a, možná jste narazili na nějaký limit procesu

odpověď

Může to být způsobeno nějakým omezením zdrojů na samotném serveru (nebo) specifickém pro váš uživatelský účet. Limity ve vašem shellu lze zkontrolovat pomocí ulimit -a. Zkontrolujte, zda ulimit -u maximální počet uživatelských procesů, pokud jste dosáhli maximálního počtu procesů, fork nedokáže vytvořit žádnou novou a selhává s touto chybou. Může to být také kvůli problému se zdroji paměti / paměti

Odpověď

vidlice: Zdroj dočasně nedostupný

Chyba znamená, že aktuální prostředek prostředí je omezen (limity zkontrolujte pomocí ulimit -a). Můžete to tedy zkusit v jiném prostředí nebo zvýšit prostředky pomocí příkazu ulimit, který řídí zdroje dostupné prostředí a zpracovává jej v operačním systému.

Chcete-li zvýšit limity, zkuste spustit:

ulimit -Sn unlimited && ulimit -Sl unlimited 

zvýšit měkké limity na tvrdé, nebo:

ulimit -l unlimited ulimit -n 10240 

nastavit maximální velikost procesu na neomezenou a maximální počet otevřených souborů na 10240.

Viz: help ulimit pro více informací.

Aby to bylo trvalé, přidejte výše uvedená nastavení do spouštěcích rc souborů (např. ~/.bashrc).


Můžete také použít /etc/sysctl.conf (viz: man sysctl.conf) ke zvýšení limitů jádra, např.

kern.maxprocperuid=1000 kern.maxproc=2000 

Komentáře

  • Pokud k této chybě dojde, provede " zkuste " naznačit, že se pokusí opakovat až do res naše zdroje jsou k dispozici?
  • @DavidB Nebo že to zkusil znovu, ale selhal.
  • kern.maxprocperuid, kern.maxproc, kernel.maxprocperuid a jádro. maxproc na Ubuntu neexistují. Jaká je tam alternativa?

Odpověď

Problém lze vyřešit také pomocí následujících příkazů:

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

Zde user1 je skupina uživatelů, u které byl limit překročen.

Komentáře

  • Zabíjení každého jednotlivého procesu patřícího uživateli se zdá být trochu zvednuté. Také příkaz yum by pravděpodobně také nemohl rozvětvovat.
  • Příkaz yum bude spuštěn prostřednictvím uživatele root za předpokladu, že k problému došlo u jiného uživatel než root
  • Pokud shell nedokáže rozvětvit df, bude mít problémy se spuštěním sudo.
  • BOFH styl. Líbí se mi to!

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *