FAQ:Arktur4/Toomanyopenfiles: Unterschied zwischen den Versionen

Aus Delixs
Zur Navigation springen Zur Suche springen
K (3 Versionen)
(frei)
Zeile 1: Zeile 1:
__NOTOC__
{{Frei}}
== Fehlermeldung "Too many open files in system" ==
== Fehlermeldung "Too many open files in system" ==



Version vom 31. März 2008, 13:27 Uhr

Frei Seite wird nicht gesperrt: Hier können mitarbeitswillige Autoren ihre Artikel und Ergänzungen einbringen. Wenn Sie mitarbeiten wollen, dann können Sie dafür jederzeit einen Account beantragen. Schreibrecht in dieser Dokumentation haben nur eingetragene Nutzer.


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