phpbar.de logo

Mailinglisten-Archive

Open_files zu =?iso-8859-1?q?gro=DF?=

Open_files zu groß

Guido Stepken mysql-de_(at)_lists.bttr.org
Thu, 3 Jan 2002 12:32:39 +0100


Man kann auch zur Laufzeit die Variablen unter Linux, FreeBSD, SUN hochsetzen.
Leider lesen viele Dämonen (squid, z.B.) diese Variable nicht aus, die haben 
ein einkompiliertes Limit....

Linux:

sysctl -w fs.file-max=32000     
sysctl -a|more

Am Donnerstag,  3. Januar 2002 10:23 schrieb Oliver Six:
> "Markus Smigelskis" <maillisten_(at)_basesolution.de> wrote on 02.01.2002
>
> 23:33:02:
> >Nun habe ich aber ein update auf mySQL 3.23.46 gemacht und alle
> >Tabellen auf MYISAM gesetzt. Nun schmiert er mir nach einer weile ab
> >mit
> >Error in accept: Too many open files
> >
> >Sprich er kommt über 150 und nicht geht mehr. Das einzige was hilft
> >ist ein restart von mySQL und das im Moment so alle 20 bis 24 Stunden.
> >Nicht wirklich sehr schön ;-(
> >
> >Iregndwie bekomme ich es aber auch nicht in den Griff. Nach 2 -3
> >Sekunden laufzeit habe ich sofort unter phpmyadmin 2.2
> >open files=129.
> >Was dafür das fast nichts los ist einfach viel zu viel ist.
> >
> >Wer kann mir helfen oder wenigstens einen Tip geben.
> >
> >Danke Markus
> >
> >PS.: Alles unter FreeBSD 4.2. Im Moment starte ich ohne my.cnf mit
> >folgender Zeile. /usr/local/bin/daemon -f /usr/local/bin/virtual
> >/usr/local/mysql/bin/safe mysqld --basedir=/usr/local/mysql
> >--datadir=/usr/local/var --language=german
> >--err-log=xxx/mysql.err --log=xxx/stats/mysql log.txt
> >--pid-file=xxx/mysql/var/mwldrp.pid -O max connections=60 -O
> >wait timeout=1800 -O interactive timeout=1800 -O back log=15
>
> Hallo Markus,
>
> in dieses open-files-limit bin ich auch schon hineingelaufen (bei mir
> allerdings unter Linux Kernel 2.2.16, ca. 100 Usern und 8000 offenen
> files). Ich habe vorlaeufig die Variable open_files_limit in der my.cnf
> (muesste auch ueber Kommandozeilenparameter --set-variable bzw. -O
> funktionieren) auf einen niedrigeren Wert gesetzt und gleichzeitig die max.
> Anzahl geoeffneter Dateien pro Prozess (was bei Dir ja ausfaellt) erhoeht.
> Bis jetzt laeuft das allerdings auch noch nicht wirklich toll, koennte aber
> ein Ansatzpunkt sein.
>
> In der englischen Mailingliste zum MySQL gibt es auch diverse Threads zu
> dem Problem, eine richtige Loesung habe ich aber dort leider auch nicht
> gefunden. Anscheinend versucht der Server, bereits gelaufene Queries in
> temporaeren Dateien zu cachen, die er dann nicht wieder schliesst. Entweder
> ist das ein Bug (der 3.22 hat das meines Erachtens nicht gemacht oder nicht
> so agressiv) und/oder ein Feature (es beschleunigt manche Abfragen schon
> gewaltig). Vielleicht kann sich 'mal jemand aeussern, der den
> entsprechenden Teil des Quellcodes kennt; vielleicht gibt es ja einen
> Workaround, um das Verhalten der 3.22.x-Versionen wiederherzustellen.
>
> Ciao Oliver
> --
> Good programming is 40% experience, 30% skill, 20% RTFM, 10% caffeine, and
> 5% attention to detail.
>
> Oliver Six, CEO
> CAHOS GmbH, Cimbernstr. 51, Germany 81377 Muenchen
> Phone +49 89 71 01 93 40,  Fax +49 89 71 01 93 41
>
> ---
> Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
> -->>  http://www.4t2.com/mysql

---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive