webentwicklung-frage-antwort-db.com.de

fork: retry: Ressource vorübergehend nicht verfügbar

Ich habe versucht, Intel MPI Benchmark auf meinem Computer zu installieren. Dabei ist folgender Fehler aufgetreten:

fork: retry: Resource temporarily unavailable

Dann habe ich diese Fehlermeldung erneut erhalten, als ich den Befehl ls und top ausgeführt habe.

Was verursacht diesen Fehler?

Konfiguration meiner Maschine:

Dell precision T7500
Scientific Linux release 6.2 (Carbon)
75
user1260391

Dies wird häufig dadurch verursacht, dass die Dateideskriptoren ausgehen.

Es gibt die maximale Gesamtzahl der Dateideskriptoren des Systems. Was erhalten Sie aus dem Befehl:

sysctl fs.file-nr

Dies gibt die Anzahl der Dateideskriptoren zurück:

<in_use> <unused_but_allocated> <maximum>

Führen Sie die folgenden Befehle aus, um herauszufinden, wie hoch die Dateibeschreibungsbeschränkung eines Benutzers ist:

Sudo su - <username>
ulimit -Hn

Um herauszufinden, wie viele Dateideskriptoren von einem Benutzer verwendet werden, führen Sie den folgenden Befehl aus:

Sudo lsof -u <username> 2>/dev/null | wc -l

Wenn Sie also ein Problem mit dem Deskriptorlimit für Systemdateien haben, müssen Sie Ihre Datei /etc/sysctl.conf bearbeiten und eine Zeile mit fs.file-max hinzufügen oder ändern, die bereits vorhanden ist, und sie auf einen großen Wert setzen genug, um mit der Anzahl der benötigten Dateideskriptoren umzugehen und einen Neustart durchzuführen.

fs.file-max = 204708
76
Satish

Eine andere Möglichkeit sind zu viele Threads. Diese Fehlermeldung wurde nur angezeigt, wenn ein Test-Harness für eine App ausgeführt wurde, die einen Thread-Pool verwendet. Wir verwendeten

watch -n 5 -d "ps -eL <Java_pid> | wc -l"

um zu sehen, wie viele native Linux-Threads innerhalb der angegebenen Java Prozess-ID ausgeführt werden. Nach diesem Treffer von ungefähr 1.000 (für uns - YMMV) wurde die von Ihnen erwähnte Fehlermeldung angezeigt.

47
Willie Wheeler