Î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 executareasudo
. - Stil BOFH. Îmi place!