Ich habe versucht, Intel MPI Benchmark auf meinem Computer zu installieren, und habe folgende Fehlermeldung erhalten:
fork: retry: Resource temporarily unavailable
Dann erhielt ich diesen Fehler erneut, als ich lief ls
und top
befahl.
Was verursacht diesen Fehler?
Konfiguration meiner Maschine:
Dell precision T7500
Scientific Linux release 6.2 (Carbon)
Antworten:
Dies wird häufig dadurch verursacht, dass keine Dateideskriptoren mehr vorhanden sind.
Es gibt das Gesamtlimit für Dateideskriptoren des Systems. Was erhalten Sie vom Befehl:
Dies gibt die Anzahl der Dateideskriptoren zurück:
Führen Sie die folgenden Befehle aus, um herauszufinden, wie hoch die Dateideskriptorbeschränkung eines Benutzers ist:
Führen Sie den folgenden Befehl aus, um herauszufinden, wie viele Dateideskriptoren von einem Benutzer verwendet werden:
Wenn Sie nun ein Problem mit der Beschränkung der Systemdateideskriptoren haben, müssen Sie Ihre Datei /etc/sysctl.conf bearbeiten und eine bereits vorhandene Zeile mit fs.file-max hinzufügen oder ändern und auf einen großen Wert setzen genug, um mit der Anzahl der benötigten Dateideskriptoren fertig zu werden und neu zu starten.
quelle
Eine andere Möglichkeit sind zu viele Threads. Diese Fehlermeldung ist gerade aufgetreten, als ein Test-Harness für eine App ausgeführt wurde, die einen Thread-Pool verwendet. Wir verwendeten
um die fortlaufende Anzahl nativer Linux-Threads zu beobachten, die 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.
quelle
ps -eL
für die Anzeige aller Prozesse gearbeitet undps -L <pid>
für die Anzeige von Prozessen in Bezug auf die<pid>
.ps -eL <pid>
zeigt nur alle Prozesse unabhängig von der<pid>
.