Hallo! Leider gibt es bei Azureus direkt nirgends Infos die mir irgendwas helfen mein Problem zu beheben und der einzige schein ich auch nicht zu sein - allerdings habe ich bisher sehr häufig vom gleichen problem ausgerechnet unter Suse9 gehört welches ich auch einsetze. Immer wenn ich Azureus starte (ein Bittorrent Client auf JAVA-Basis), läuft der eine Weile Problemlos (meist so 30min-3h), dann beginnt er sehr oft den fehler zu bringen: "Too many open Files" und kann zB seine config nicht mehr schreiben oder gibt bei downloads auf die er grad beginnen wollte. ulimit liefert 1024 als limit der offenen file-zeiger Ausser dem Azureus läuft sonst NICHTS (ausser halt das KDE selbst (Suse-Standardversion (3.1 glaubs?); der Kernel ist der neueste 2.4er von Suse)) Ich habe auch bereits versucht in der neuesten Version 2.0.8.4 in der Konfiguration -> Files -> Performance Opeions den Wert für "Maximum files opened for read/write" auf werte zwischen 5 und 1000 zu stellen - alles ohne effekt. Kennt jemand von euch das Problem und wüsste ev was man machen könnte? Ich kann mir irgendwie nicht vorstellen dass der Azureus soviele pointers brauchen würde - die downloads bestehen jeweils auch aus maximal 3 files und nicht aus x hundert einzelfiles....? Vielen Dank Matti
Hallo Matthias, On Tue, Mar 23, 2004 at 08:53:17PM +0100, Matthias Keller wrote:
Leider gibt es bei Azureus direkt nirgends Infos die mir irgendwas helfen mein Problem zu beheben und der einzige schein ich auch nicht zu sein - allerdings habe ich bisher sehr häufig vom gleichen problem ausgerechnet unter Suse9 gehört welches ich auch einsetze. Immer wenn ich Azureus starte (ein Bittorrent Client auf JAVA-Basis), läuft der eine Weile Problemlos (meist so 30min-3h), dann beginnt er sehr oft den fehler zu bringen: "Too many open Files" und kann zB seine config nicht mehr schreiben oder gibt bei downloads auf die er grad beginnen wollte. ulimit liefert 1024 als limit der offenen file-zeiger Ausser dem Azureus läuft sonst NICHTS (ausser halt das KDE selbst (Suse-Standardversion (3.1 glaubs?); der Kernel ist der neueste 2.4er von Suse)) Ich habe auch bereits versucht in der neuesten Version 2.0.8.4 in der Konfiguration -> Files -> Performance Opeions den Wert für "Maximum files opened for read/write" auf werte zwischen 5 und 1000 zu stellen - alles ohne effekt.
Wenn der Client wirklich keine 1024 Dateien öffnet, dann hat da wohl jemand ein fclose() beim programmieren vergessen?! schau mal mit strace nach, was der Client so alles öffnet/schliesst. Vielleicht besser in eine Datei loggen, wenn du kein photographisches Gedächtnis hast. Greetings Daniel -- Wenn Du denkst, Du bist unersetzbar, dann schau auf den Friedhof, der ist voll davon!
Hallo, Am Wed, 24 Mar 2004, Daniel Lord schrieb:
On Tue, Mar 23, 2004 at 08:53:17PM +0100, Matthias Keller wrote:
ulimit liefert 1024 als limit der offenen file-zeiger Ausser dem Azureus läuft sonst NICHTS (ausser halt das KDE selbst (Suse-Standardversion (3.1 glaubs?); der Kernel ist der neueste 2.4er von Suse)) Wenn der Client wirklich keine 1024 Dateien öffnet, dann hat da wohl jemand ein fclose() beim programmieren vergessen?!
Wie heisst denn das Binary? Wenn es "azureus" heisst, maile mal die Ausgabe von ls -Al "/proc/`pidof azureus`/fd" | wc -l -dnh -- If you haven't got time to RTFM, you haven't got time to whine on this mailing list.
David Haller wrote:
Am Wed, 24 Mar 2004, Daniel Lord schrieb:
On Tue, Mar 23, 2004 at 08:53:17PM +0100, Matthias Keller wrote:
ulimit liefert 1024 als limit der offenen file-zeiger Ausser dem Azureus läuft sonst NICHTS (ausser halt das KDE selbst (Suse-Standardversion (3.1 glaubs?); der Kernel ist der neueste 2.4er von Suse))
Wenn der Client wirklich keine 1024 Dateien öffnet, dann hat da wohl jemand ein fclose() beim programmieren vergessen?!
Wie heisst denn das Binary? Wenn es "azureus" heisst, maile mal die Ausgabe von
ls -Al "/proc/`pidof azureus`/fd" | wc -l
Ist halt kein Binary sondern ein java Proggy, aber wenn ich den ls im fd-verzeichnis vom laufenden java-prozess starte krieg ich jetzt 3911 einträge !! Und das nach nich mal 10h laufenlassen des Programms.... :-/ (hab schon gestern nach x suchen rausgefunden wie ich temporär die nofiles mittels ulimit raufstellen kann und habse mal auf 4096 gestellt.....) Die allermeisten Einträge im fd sind übrigens socket:[XXX] und nur ganz wenige wirklich Zeiger zu einer lokalen Datei Was genau ist denn hier ein Socket? Ist das eine Internet-Verbindung (von denen Azureus logischeriwese schon ein paar braucht ;) ) oder ist das was anderes? Fallen denn Internet-Verbindungen auch unter das nofiles-limit ? Vielen Dank Matti
Hallo, Am Wed, 24 Mar 2004, Matthias Keller schrieb:
David Haller wrote:
Wie heisst denn das Binary? Wenn es "azureus" heisst, maile mal die Ausgabe von
ls -Al "/proc/`pidof azureus`/fd" | wc -l
Ist halt kein Binary sondern ein java Proggy, aber wenn ich den ls im fd-verzeichnis vom laufenden java-prozess starte krieg ich jetzt 3911 einträge !!
*ugrsl*
Und das nach nich mal 10h laufenlassen des Programms.... :-/ (hab schon gestern nach x suchen rausgefunden wie ich temporär die nofiles mittels ulimit raufstellen kann und habse mal auf 4096 gestellt.....) Die allermeisten Einträge im fd sind übrigens socket:[XXX] und nur ganz wenige wirklich Zeiger zu einer lokalen Datei Was genau ist denn hier ein Socket?
man 7 socket
Ist das eine Internet-Verbindung (von denen Azureus logischeriwese schon ein paar braucht ;) ) oder ist das was anderes?
Jein. die Sockets brauchen aber Filedescriptoren (fd)...
Fallen denn Internet-Verbindungen auch unter das nofiles-limit ?
Vermutlich. Ich schaetze, das ist ein Bug in Azureus, dass die sich einfach nicht darum kuemmern die sockets wieder zu schliessen und die Garbage-Collection sammelt die wohl auch nicht (rechtzeitig) ein... -dnh -- If you haven't got time to RTFM, you haven't got time to whine on this mailing list.
participants (3)
-
Daniel Lord
-
David Haller
-
Matthias Keller