Debugging die "Zu viele Dateien geöffnet" Problem

Die Anwendung, die ich arbeite, plötzlich stürzte mit

java.io.IOException: ... Too many open files

Als ich verstehe das Problem, es bedeutet, dass Dateien geöffnet, aber nicht geschlossen.

Stacktrace natürlich passiert, nach der Tat und kann nur helfen, zu verstehen, was vor Ereignis Fehler aufgetreten.

Was wäre ein intelligenter Weg, um suchen Sie Ihre code-Basis zu finden, dieses Problem scheint nur auftreten, wenn app ist unter hoher Belastung.

  • Sind Sie multi-threading, das Datei-handling, oder ist es alles der gleiche thread? Und haben Sie sich überlegt Parallelität Drosselung zu verwalten, die Arbeitsbelastung?
  • Ich bin multi-threading-die Datei handling. Und das problem erscheint nur wenn ich mehrere threads. Ich habe eine Liste von jobs und nur spin up-die Anzahl der threads mit der Anzahl der Kerne auf dem Gerät (z.B. 4) es gibt also nur 4 threads verarbeiten der job-queue zu einem bestimmten Zeitpunkt. Und die jobs sind sehr schnell. Irgendwelche Ideen? Was ist Parallelität Drosselung?
InformationsquelleAutor JAM | 2013-04-11
Schreibe einen Kommentar