Amíg a szerveremhez csatlakozom,
-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
És megpróbálom követni a parancsokat is, akkor az eredmény ugyanaz.
-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$
Miért következik ez? És hogyan tudom megoldani?
Megjegyzések
- Úgy tűnik, hogy a csere túlterhelt (/ a / tmp fájlrendszer esetleg tele van)
- ulimit -a, talán elért valamilyen folyamatkorlátot
Válasz
Ennek oka lehet valamilyen erőforráskorlát, vagy magán a kiszolgálón (vagy), amely a felhasználói fiókjára vonatkozik. A héjban lévő korlátokat a ulimit -a
oldalon lehet ellenőrizni. Esp-ellenőrzés a ulimit -u
max felhasználói folyamatok után, ha elérte a maximális folyamatokat, a fork nem képes újat létrehozni, és nem sikerül ezzel a hibával. Ennek oka lehet a csere / memória erőforrás
Válasz
villa: Az erőforrás ideiglenesen nem érhető el
A hiba azt jelenti, hogy az aktuális shell-erőforrás korlátozott (ellenőrizze a korlátokat >). Tehát megpróbálhat másik héjban, vagy növelheti az erőforrásokat a ulimit
paranccsal, amely ellenőrzi a shell számára elérhető erőforrásokat és az operációs rendszeren létrehozott folyamatokat.
A korlátok növeléséhez próbálja meg futtatni:
ulimit -Sn unlimited && ulimit -Sl unlimited
a puha határok keményre emeléséhez, vagy:
ulimit -l unlimited ulimit -n 10240
a folyamat maximális méretének korlátlan, a nyitott fájl maximális számának 10240-re állításához.
Lásd: help ulimit
további információ.
Annak érdekében, hogy tartós legyen, adja hozzá a fenti beállításokat az indító rc fájlokhoz (pl. ~/.bashrc
).
A /etc/sysctl.conf
(lásd: man sysctl.conf
) is használható a kernel korlátainak növelésére, pl.
kern.maxprocperuid=1000 kern.maxproc=2000
Megjegyzések
- Amikor ez a hiba bekövetkezik, a " újrapróbálkozás " azt jelenti, hogy újra és újra megpróbálja a mi válságunk elérhetővé válik?
- @DavidB Vagy hogy sikerült újrapróbálkozni, de kudarcot vallott. A maxproc nem létezik az Ubuntun. Mi az alternatíva ott?
Válasz
A probléma a következő parancsokkal is megoldható:
yum install psmisc killall -STOP -u user1 killall -KILL -u user1
Itt a user1 az a felhasználói csoport, amelynek túllépte a korlátot
Megjegyzések
- A felhasználó minden egyes folyamatának megölése kissé nehéz kezűnek tűnik. Valószínűleg ez a
yum
parancs valószínűleg nem is tud elágazni. - A yum parancs a root felhasználón keresztül fut, feltéve, hogy a probléma egy másik felhasználó, mint gyökér
- Ha a héj nem tud elágazni
df
, akkor problémái lennének asudo
futtatásával is. - BOFH stílus. Tetszik!