Kun muodostan yhteyden palvelimelleni,
-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
Ja yritän seurata myös komentoja, niin tulos on sama.
-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$
Miksi tämä tulee? Ja miten voin ratkaista sen?
Kommentit
- Näyttää siltä, että vaihto on ylikuormitettu (/ tmp-tiedostojärjestelmä mahdollisesti täynnä)
- ulimit -a, ehkä saavutit jonkin prosessirajan
vastaus
Tämä voi johtua jostakin resurssirajasta, joko palvelimella (tai) omalle käyttäjätilillesi. Kuoren rajat voidaan tarkistaa ulimit -a
-palvelun kautta. Esp-tarkistus ulimit -u
-käyttäjäprosesseille, jos olet saavuttanut enimmäisprosessit, haarukka ei pysty luomaan uusia ja epäonnistumaan virheessä. Tämä voi johtua myös vaihtamis- / muistiresurssiongelmasta
Vastaus
haarukka: Resurssi ei ole väliaikaisesti käytettävissä
Virhe tarkoittaa, että nykyinen kuoren resurssi on rajoitettu (tarkista rajat ulimit -a
). Joten voit joko kokeilla toista kuorta tai lisätä resursseja käyttämällä ulimit
-komentoa, joka hallitsee kuoren käytettävissä olevia resursseja ja sen luomia prosesseja käyttöjärjestelmässä.
Jos haluat lisätä rajoja, yritä suorittaa:
ulimit -Sn unlimited && ulimit -Sl unlimited
nostaaksesi pehmeät rajat kovaksi, tai:
ulimit -l unlimited ulimit -n 10240
asettaa prosessin enimmäiskoon rajoittamattomaksi ja avoimen tiedoston enimmäismääräksi 10240.
Katso: help ulimit
lisätietoja.
Jotta se olisi pysyvä, lisää yllä olevat asetukset käynnistys rc -tiedostoihisi (esim. ~/.bashrc
).
Voit myös käyttää /etc/sysctl.conf
(katso: man sysctl.conf
) ytimen rajojen nostamiseen, esim.
kern.maxprocperuid=1000 kern.maxproc=2000
Kommentit
- Kun tämä virhe ilmenee, " yritä uudelleen " tarkoittaa, että se yrittää toistuvasti, kunnes res meidän joukkomme ovat käytettävissä?
- @DavidB Tai että se yritti uudelleen, mutta epäonnistui.
- kern.maxprocperuid, kern.maxproc, kernel.maxprocperuid ja ydin. maxprocia ei ole olemassa Ubuntussa. Mikä vaihtoehto siellä on?
Vastaa
Ongelma voidaan ratkaista myös seuraavilla komennoilla:
yum install psmisc killall -STOP -u user1 killall -KILL -u user1
Tässä käyttäjä1 on käyttäjäryhmä, jolle raja on ylitetty.
Kommentit
- Kaikkien käyttäjän prosessien tappaminen näyttää olevan hieman painava. Myöskään
yum
-komento ei todennäköisesti pystyisi haarautumaan. - Yum-komento suoritetaan pääkäyttäjän kautta, olettaen, että ongelma on ilmennyt toisella Käyttäjä kuin juuri
- Jos kuori ei haaraa
df
, sillä olisi ongelmia myössudo
. - BOFH-tyyli. Pidän siitä!