2014-02-28 12 views
10

Ich habe irrtümlich einen begrenzten Server als iperf Server für 5000 parallele Verbindungen verwendet. (Limit 1024 Prozesse) Nun jedes Mal, wenn ich Dich an, ich sehe dies:Bash Fork Fehler (Ressource vorübergehend nicht verfügbar) hört nicht auf, und wird jedes Mal angezeigt, wenn ich versuche,

-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 

Dann versuche ich, sie zu töten, aber wenn ich ps tun, bekomme ich diese:

-bash-4.1$ ps 
-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 

Gleiches passiert, wenn ich ein killall oder ähnliches mache. Ich habe sogar versucht, das System neu zu starten, aber auch dies ist, was ich nach dem Neustart erhalten:

-bash-4.1$ sudo reboot 
-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$ 

Also im Grunde kann ich nichts tun. Alle Befehle bekommen diesen Fehler:/ Ich kann jedoch "beenden".

Dies ist ein externer Server, auf den ich keinen physischen Zugriff habe. Daher kann ich ihn nicht physisch aus-/einschalten.

Irgendwelche Ideen, wie ich dieses Problem beheben kann? Ich schätze jede Hilfe sehr.

+0

Können Sie vielleicht jemanden vor Ort anrufen, um die Maschine für Sie neu zu starten? – nneonneo

+0

Ich habe versucht, das tatsächlich zu vermeiden, aber es sieht so aus, als müsste ich es tun: seufzen: – user2662165

Antwort

18

Vorausgesetzt, dass Sie sich anmelden können, möchten Sie vielleicht versuchen, exec zu verwenden, um alle Ihre Befehle auszuführen. Nach der Ausführung von exec müssen Sie sich erneut anmelden, da exec Ihre Shell zum Absturz bringt (indem Sie sie durch den Befehl ersetzen, den Sie ausführen).

exec wird keinen zusätzlichen Prozess-Slot benötigen, da es die laufende Shell durch das auszuführende Programm ersetzt. Daher sollte es in der Lage sein, die ulimit Einschränkung zu umgehen.

+4

versuche 'exec sudo -s'. Möglicherweise ist das Limit pro Benutzer und der Superuser darf mehr Prozesse erstellen. – Barmar

+1

Danke Jungs! Ich habe das Noproc-Limit mit exec auf mehr geändert, dann habe ich das System mit exec neu gestartet! Es hat funktioniert, also muss ich zumindest nicht physisch dorthin gehen, um neu zu starten! – user2662165

+0

war wirklich ein Tag sever ... –

5

Ich hatte das gleiche Problem in letzter Zeit. In meinem Fall gab es einen Code, der unter meinem Besitz ausgeführt wurde und fast alle Ressourcen verbrauchte und nichts für meine Befehle übrig ließ. Hier ist, was ich getan habe, "Exec Top", um die PID zu identifizieren, die maximale Ressourcen verbraucht "exec kill -9" Töten der PID durch den obigen Befehl identifiziert.

Nach dem Töten der PID war alles wieder normal und ich konnte mich wieder einloggen.

+0

Das beantwortet die Frage nicht wirklich. Wenn Sie eine andere Frage haben, können Sie sie durch Klicken auf [Frage stellen] (http://stackoverflow.com/questions/ask) stellen. Sie können [Kopfgeld hinzufügen] (http://stackoverflow.com/help/privileges/set-bounties) hinzufügen, um mehr Aufmerksamkeit auf diese Frage zu lenken, sobald Sie genug [Reputation] haben (http://stackoverflow.com/help/). Whats-Reputation). –

+2

@ DanielVérité 1.) Hast du meinen Beitrag wirklich gelesen? Ich stellte keine Frage, ich beantwortete die Frage nach bestem Wissen mit einem Beispiel, das ich unterzog.Ich habe kein Interesse daran, Reputation oder Aufmerksamkeit zu erlangen. – MYD

+0

@YMD: Der obige Kommentar ist ein vordefinierter Text aus der stackoverflow-Überprüfungswarteschlange, im Gegensatz zu dem, was ich persönlich geschrieben habe. Ich denke, Ihre Antwort wurde markiert, weil sie im Wesentlichen die gleiche ist wie die andere Antwort, und ich stimmte dem zu (eine neue Antwort sollte deutlich anders sein). Es tut uns leid, wenn der Text der Textbausteine ​​seltsam wirkt, das ist mehr oder weniger [ein bekanntes Problem] (http://meta.stackoverflow.com/questions/271829) –