fork: retry: Resursă temporar indisponibilă

În timp ce mă conectez la serverul meu, primesc,

-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 

Și încerc să urmez și comenzile, atunci rezultatul este același.

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

De ce vine asta? Și cum o pot rezolva?

Comentarii

  • Se pare că swapul este supraîncărcat (sistemul de fișiere / tmp posibil complet)
  • ulimit -a, poate ați atins o anumită limită de proces

Răspuns

Acest lucru s-ar putea datora unor limite de resurse, fie pe serverul însuși (sau) specific contului dvs. de utilizator. Limitele din shell-ul dvs. pot fi verificate prin ulimit -a. Verificați Esp pentru ulimit -u procesele maxime ale utilizatorului, dacă ați atins procese maxime, furca nu este capabilă să creeze erori noi și care nu reușesc. Acest lucru s-ar putea datora și problemei resurselor de swap / memorie

Răspuns

furcă: Resursă indisponibilă temporar

Eroarea înseamnă că resursa curentă a shell-ului este limitată (verificați limitele cu ulimit -a). Deci, puteți încerca fie într-un alt shell, fie crește resursele utilizând comanda ulimit care controlează resursele disponibile shell-ului și procesele pe care le creează pe sistemul de operare.

Pentru a crește limitele, încercați să rulați:

ulimit -Sn unlimited && ulimit -Sl unlimited 

pentru a ridica limitele soft la una tare sau:

ulimit -l unlimited ulimit -n 10240 

pentru a seta dimensiunea maximă a unui proces la nelimitat și numărul maxim de fișiere deschise la 10240.

A se vedea: help ulimit pentru mai multe informații.

Pentru a face acest lucru persistent, adăugați setările de mai sus în fișierele rc de pornire (de ex. ~/.bashrc).


De asemenea, puteți utiliza /etc/sysctl.conf (a se vedea: man sysctl.conf) pentru a crește limitele nucleului, de ex.

kern.maxprocperuid=1000 kern.maxproc=2000 

Comentarii

  • Când apare această eroare, apare " reîncercați " implică faptul că va încerca în mod repetat până când ources devin disponibile?
  • @DavidB Sau că a încercat din nou a reușit , dar nu a reușit.
  • kern.maxprocperuid, kern.maxproc, kernel.maxprocperuid și kernel. maxproc nu există pe Ubuntu. Care este alternativa?

Răspuns

Problema poate fi rezolvată și cu următoarele comenzi:

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

Aici user1 este grupul de utilizatori pentru care a fost depășită limita

Comentarii

  • Uciderea fiecărui proces care aparține utilizatorului pare puțin încordată. De asemenea, acea comandă yum probabil că nici nu ar putea fi bifurcată.
  • Comanda yum va fi executată prin intermediul utilizatorului root, presupunând că problema a apărut pe o altă utilizator decât root
  • Dacă shell-ul nu reușește să forțeze df, ar avea probleme la executarea sudo.
  • Stil BOFH. Îmi place!

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *