Too many open files

B

Beni

Gast
Hallo. Ich bastle an einer Server-Andwendung herum, die auf einem Ubuntu-Rechner laufen soll. Nach 1 bis 2 Wochen kommt eine "too many open files" Meldung, und alles stürzt zusammen. Mit anderen Worten: irgendwo wird irgendwas nicht richtig geschlossen.

Wenn ich mit lsof die offenen Files suche, bekomme ich etwa 1000 solche Zeilen:
Code:
COMMAND  PID        USER   FD   TYPE     DEVICE SIZE/OFF  NODE NAME
[...]
java    1539 beni 1000u  unix 0xf098f800      0t0 47875 socket
java    1539 beni 1001u  unix 0xf098f800      0t0 47875 socket
java    1539 beni 1002u  unix 0xf098f800      0t0 47875 socket

Ich habe mich schon dumm und dämlich gesucht: gibt es irgendeinen Weg herauszufinden wohin diese Sockets gehen (der andere Endpoint)? Oder ob sie garnicht verbunden sind?
Die Anwendung besteht aus sehr vielen Untersystemen, und so eine Information würde die Suche nach dem Bug stark vereinfachen.
 
Zuletzt bearbeitet von einem Moderator:
B

Beni

Gast
Ne, benutzen wir nicht. Aber es kann schon sein, dass eine Library die Ursache ist. Obwohl, eigentlich sind das alles bekannte Libs, da wären wir nicht die Ersten die so einen Fehler sehen: mysql, C3P0, Jetty, mail/mailapi. Andere Libs (slf4j, jfreechart, google-collactions) haben eigentlich nichts mit sockets zu tun, und scheiden daher wohl aus.
 
B

Beni

Gast
Das ist schon so, aber in einem normalen System sollte nicht dieselbe Zeile mit denselben Werten 1000 mal auftauchen :)
 
B

Beni

Gast
Hab ich schon ausprobiert, hat leider nicht viel gebracht. Naja, ich bau mir mal ein paar Zähler ein, vielleicht taucht mal noch was auf.
 

Ähnliche Java Themen

Neue Themen


Oben