Re: TCP... manchmal [lang!]

From: Jan Muenther <jan(at)radio.hundert6.de>
Date: Mon, 29 Jan 2001 12:24:38 +0000

Hallo Oliver,

zunächst einmal vielen Dank für Deine engagierte Antwort...

> > werde hier gerade wahnsinnig.
>
> Gaaanz ruhig. Allet wird jut. :-)

Daran versuche ich ja auch noch zu glauben. Übrigens kannst Du es
auch mal als Boxtrainer probieren, falls Du von der IT die
Schnauze vollhast ;o))
 
> > icecast und Zope aus den Ports installiert. So hoopy, so froody.
> > Alles läuft ganz klasse. Nur, nach einiger Zeit, ohne
> > irgendwelche Spuren in irgendeinem Logfile zu hinterlassen, hört
> > Zope einfach auf zu laufen.
>
> Kenne Zope nicht, kann dazu nichts sagen. Tippe auf Bug in
> Zope.

Ich um ehrlich zu sein auch. Recht merkwürdig finde ich auch, daß
Zope einfach so die Hufe hochreißt, ohne diese Tatsache in sein
eigenes Logfile zu schreiben geschweige denn dem syslogd bescheid
zu sagen. Grr.

> Erster Verdächtiger ist die Anzahl der verfügbaren File-
> descriptoren. Ohne Filedescriptor kein Socket, ohne Socket
> keine Verbindung. Hat vielleicht irgendein amoklaufendes
> Programm (Zope??) alle Filedescriptoren ,,absorbiert``, so
> daß der inet keinen mehr gekriegt hat? Nur so eine Idee.

So etwas in der Art habe ich mir eigentlich auch gedacht, daher
ja auch der Verweis auf meine 'maxusers' in der
Kernel-Konfiguration...
 
> Die aktuelle Belegung sowie das Maximum kannst Du Dir mit
> ,,pstat -T`` anzeigen lassen. Hier schaut das z.B. so aus:
>
> 158/4136 files
> 0M/511M swap space

Aaah! Sehr schöner Hinweis. Habe irgendwie mit systat
herumdilettiert, was im Hinblick auf die gesuchten Werte etwas
unübersichtlich wurde. Ist für die Zukunft als FAQ in meine
Hirnrinde tätowiert.
 
> D.h. 158 von 4136 Filedescriptoren sind zur Zeit in Benut-
> zung. Wieviele Dir zur Verfügung stehen, hängt von ,,max-
> users`` in Deinem Kernel ab, Du kannst es auch direkt per
> ,,options MAXFILES=xxxx`` einstellen, und dann gibt es da
> noch die sysctls kern.maxfiles und kern.maxfilesperproc.
> Evtl. wäre es sinnvoll, letzteres herunterzusetzen, dann
> kann schonmal kein einzelner Prozeß sämtliche Filedescrip-
> toren absorbieren.

Stimmt, das scheint sinnvoll. Kann es sein, daß das standardmäßig
nicht limitiert ist, d.h. Anzahl der maximal von einem Prozeß zu
belegenden Filedeskriptoren der Anzahl der gesamten
Filedeskriptoren gleicht? Ist bei mir nämlich beides 2088...
Seltsamer Wert, irgendwie hätte ich da eine Zweierpotenz erwartet
- kannst Du mir sagen, wie die Anzahl sich bildet bzw. errechnen
läßt?
 
> Außerdem ist es keine schlechte Idee, per Login-class die
> Anzahl der Filedescriptopren für Benutzer zu limitieren,
> und insbesondere auch für bestimmte Daemonen, von denen
> man genau weiß, daß sie nicht mehr als eine bestimmte An-
> zahl benötigen sollten.

Spezielle Vorschläge für solche Kandidaten? Wohl insbesondere
Daemons, von denen auch nur wenige Instanzen laufen sollten, z.B.
alles, was irgendwie mit Administration zu tun hat... Aber
trotzdem, für ein paar clevere Beispiele wäre ich dankbar, da ich
sowas bisher idR über die Konfiguration der jeweiligen Daemons zu
regeln versucht habe - Kernel erscheint mir aber auch sauberer,
präventiver.

> > Icecast läuft zwar und frißt einiges an CPU und Speicher, aber
> > das ist ja dann doch eher heftig...
>
> Frißt es vielleicht auch Filedescriptoren?

Hmmm. Es bleibt rätselhaft, da ich icecast erstmal wieder gekillt
hatte, aber Zope übers Wochenende leider wieder den Dienst
versagt hat. Der ebenfalls laufende Apache blieb unbeeindruckt.
 
> Ist natürlich nur ein Verdacht, aber die Symptome sind ty-
> pisch dafür. Wenn es nicht die Filedescriptoren sind, wür-
> de ich als nächstes mal die MBufs im Auge behalten (siehe
> ,,netstat -m``).

Sieht ebenfalls (im Augenblick) recht entspannt aus. 133
augenblicklich, 208 Peak (in welchem Zeitraum eigentlich?), 6144
maximal...
>
> > Hat jemand eine Idee? Maxusers habe ich 64... zuviel, zuwenig?
>
> Wie üblich: Kommt drauf an.

Schon klar... Aber irgendwie kann ich nicht dran glauben, da ich
jetzt gerade noch einmal alle Daemons angefeuert habe, die
Clients, die da waren, wieder angemeldet und die verbrauchten
Filedeskriptoren bleiben stabil bei 188...
 
> > Kann ja eigentlich nicht der Knackpunkt sein, icecast ist nur 1
> > Prozess (laut top)...
>
> Ein einzelner Prozeß kann genügen, um eine ganze Menge von
> Systemresourcen zu binden. ;-)

Ist natürlich richtig. Where is my mind...
 
> An telnet ist nichts verwerfliches, ich verwende es gele-
> gentlich auch. Es gibt Situationen, wo ssh ohnehin nichts
> bringt oder sogar kontraproduktiv ist, weil es eine nicht
> vorhandene Sicherheit vorgaukelt. S/key ist Dein Freund.

Das unterschreibe ich sofort. Aber abhängig von der Konfiguration
von Client und Daemon kann man natürlich unterschiedliches
erreichen - außerdem hilft nix gegen dämliche User, die bei
Warnungen einfach auf Enter hauen und auf Gott vertrauen.
 
> Man sollte natürlich immer genau wissen, was man tut. ;-)

Ich bemühe mich redlich darum ;o))

Danke nochmals für die ausführliche Antwort und sorry für das
lange Posting,

Gruß,

Jan

-- 
Radio HUNDERT,6 Medien GmbH Berlin
- EDV -
j.muenther(at)radio.hundert6.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 29 Jan 2001 - 12:24:55 CET

search this site