FreeBSD und "too many files open..."

asg

push it, don´t hype
Moin,

habe eben ein kleines Problem mit unserem FreeBSD Server (5.3-STABLE, 4GB RAM, Dual XEON 3.06GHz).
Auf diesen greifen in etwa 80 Leute von einem NC aus zu und starten via ssh einen "xfce4-panel" welches die weiteren Programme (FireFox und OpenOffice.org) anbietet.
So weit so gut. Rennt auch.
Eben bei einem Mitarbeiter wollte ich den firefox starten, kommt mir die Meldung "too many files open..." dazwischen. Nichts geht. Kein FireFox geht auf. Etwas gewartet, wieder nicht. Nach dem fünften Aufruf startete dieser dann endlich.

Also eben die files gecheckt:
Code:
kern.openfiles:9306
kern.maxfiles:65536
Sieht gut aus.

Auch die mbufs sehen gut aus:
Code:
netstat -m
3952 mbufs in use
732/64000 mbuf clusters in use (current/max)
[...]

Es laufen ca. 698 Prozesse, Laod liegt um die "1" und er nutzt 40MB Swap von seine 4GB Swap.

Warum also meckert das System das zu viele files offen sind?
Any hints?
 
Also Limit zeigt mir hier ca. 11k openfiles an, wobei kern.maxfiles bei 12k liegt. Scheint also etwas unter dem Kernel-Limit zu liegen.

Ueberpruefe auch mal mit fstat/lsof wieviele Dateien der betroffene User schon geoeffnet hat. Tritt das Problem auch bei anderen Usern auf?
 
@gonzales & MrFixit
In der login.conf gibt es keine Begrenzung, und wenn dann dürfte das nicht bei einem User zutreffen der nur den xfce4-panel offen hat und sonstn weiter nichts. Erst wenn ich beispielsweise den firefox aufrufe wird die Meldung ausgegeben. Ist mir bei drei Usern untergkommen.
Die btroffenen User hatten also nicht sonderlich viel offen, da hatten andere die ich zuvor eingerichtet hatte mehr offen, bzw. habe dort oo.org, firefox, filemanager, acrobat,... gestartet, keine probleme.

Ich muss mich verbessern, bisher kam es ausschliesslich beim öffnen des firefox zu dieser Meldung. Öffne ich OO.org so funktioniert dies anstandslos, beim öffnen des FireFox "too many files...."

Werde das morgen nochmals genauer verfolgen ob der OO.org wirklich nicht betroffen ist.

Ein fstat wirft mir beim einen User 393 und bei einem anderen 3459 aus was den firefox betrifft. Woher nun dieser grosse Unterschied kommt erschliesst sich mir nicht ganz.
 
@k3rn3lpanic
Bei den entsprechenden Usern wurde der firefox das erste mal gestartet. Kann man also ausschliessen.
 
Guten Morgen asg,

was hast Du denn bei kern.maxfilesperproc eingestellt?
Kann es sein, dass da der Firefox an seine Grenzen stößt?

Viele Grüße

Jürgen
 
Moin,

Code:
#sysctl kern.maxfilesperproc
kern.maxfilesperproc: 5898

und dann noch
Code:
kern.maxusers: 384

Ansonsten noch via /boot/loader.conf:
Code:
kern.maxfiles="65536"
kern.ipc.nmbclusters=64000
kern.ipc.nmbufs=256000
kern.maxproc=8192
kern.ipc.somaxconn=4096
 
Achja, "limit" schmeisst mir noch folgendes aus:
Code:
limit 
cputime      unlimited
filesize     unlimited
datasize     524288 kbytes
stacksize    65536 kbytes
coredumpsize 2048 kbytes
memoryuse    unlimited
vmemoryuse   unlimited
descriptors  58982 
memorylocked unlimited
maxproc      7372 
sbsize       unlimited
 
Und die sockets sehen auch gut aus:
Code:
# sysctl kern.ipc | grep socket
kern.ipc.numopensockets: 1188
kern.ipc.maxsockets: 65536

Jemand noch ne Idee?
 
Hallo asg,

asg schrieb:
Jemand noch ne Idee?

Ja, weil mir heute das gleiche passiert ist und ich auch noch keine Lösung habe.
Aber: ich habe mir ein kleines Skript geschrieben, das in einer Endlos-Schleife im Sekunden-Takt alle wichtigen Werte in eine Protokoll-Datei schreibt.
Am Samstag (Grrrrr, wieso habe ich auch immer solche komischen Ideen...) werde ich es dann laufen lassen. Ich werde dann mit meinem Co-Admin alle Clients hochfahren und alle Anwendungen starten. Mal sehen, was passiert.


Viele Grüße

Jürgen
 
Hallo asg,

Einen Erfolg haben wir erzielt, als wir inden Server eine zweite Dual-Port-Netzwerkkarte eingabut hatten und das Netzwerk entsprechend aufgeteilt haben.
<Spekulation>
Wahrscheinlich (!!!) hatte der Karten-Treiber ein Problem. Am Dienstag werden wir das endgültig klären.
</Spekulation>
Wir haben uns dazu heute noch eine Testkonfiguation aufgebaut: zwei Clients und den gleichen Server. Ein Skript startet X-Apps solange, bis die Fehlermeldung kommt - und sie kam nach ca. 60 simulierten Usern!

So jetzt ist Ostern und ich habe keinen Bock mehr, meine Freundin wartet

Viele Grüße und ein schönes Osterfest

Jürgen (und Michelle)
 
@juedan
Interessant, da ich nach meinem Urlaub so oder so noch das GW ändern muss und auch die IP für den Zugriff der Clients auf den Server, hoffe ich mal das es sich dann, in Bezug auf Deine Resultate, erledigt hat (wobei ich dann immer noch nicht wüsste wo das Problem eigentlich genau liegt).
 
Hallo asg,

gerne würde ich wissen, wo das Problem genau liegt. Ich hasse solche Zustände der Halbwissenheit. Nächste Woche wird da mal genauer geforscht.

Schönen Urlaub und schönes Osterfest

Jürgen
 
Zurück
Oben