FAQ:Arktur4/Toomanyopenfiles: Unterschied zwischen den Versionen

Aus Delixs
Zur Navigation springen Zur Suche springen
(tatsächlich geöffnete Dateien ermitteln)
K (3 Versionen)
(kein Unterschied)

Version vom 4. März 2008, 22:37 Uhr

Fehlermeldung "Too many open files in system"

Frage:

irgendwie läuft sich mein Arktur mit der Zeit zu. Er lässt sich dann wenn überhaupt mit etwas Glück per Konsole noch neu starten. In einer E-Mail die root immer bekommt stand:


execl: couldn't exec `/bin/sh'
execl: Too many open files in system 


Antwort 1:

Dieser Einzeiler zeigt in der ersten Spalte die offenen Dateien und in der zweiten das dazugehoerige Programm.

lsof | awk -F\  '{printf("%s\n",$1)}' | sort | uniq -c | sort -bg

Damit kannst du das Problem verursachende Programm sofort erkennen.

-- aus einer Mail von Harry.

Und mit diesem Einzeiler kann man die Anzahl der offenen Dateien ermitteln:

lsof -n | wc -l

-- aus einer Mail von Sebastian M.


Antwort 2:

Die Anzahl der maximal geöffneten Dateien steht im procfs. Kannst du mit

/sbin/sysctl fs.file-max

prüfen. Bei der Arktur ist dieser Wert mit 18882 eigentlich ausreichend. Falls du noch mehr offene Dateien brauchst:

/sbin/sysctl -w fs.file-max=32768
/sbin/sysctl -p

und nochmal zur Kontrolle:

/sbin/sysctl fs.file-max

Der Wert bleibt auch nach einem Neustart erhalten.

-- aus einer Mail von Harry.


Antwort 3:

Diesen Fehler hatte ich auch schon bei mir. Es war ein saublöder Fehler. In der Crontab stand alle 2 Minuten ein Ping-Befehl ohne die Option, diesen nur einmal ausführen. Also wurde alle 2 Minuten eine weitere Instanz gestartet.

So sollte der richtige Eintrag in der "crontab" aussehen, wobei "-c 1" die Anzahl der Anfragen auf 1 begrenzt und "-w 20" den Timout auf 20 Sekunden setzt:

*/3 * * * * ping -c 1 -w 20 194.8.194.60 > /dev/null

-- aus einer Mail von Stephan Dr., Harry und Jens Fr.



zurück | Hauptseite