Guten Abend! Ich habe auf unserem Server Suse Linux 7.3 Minimalinstallation drauf. Der Server hat pro Tag um die 300.000 - 400.000 Anfragen. Dabei werden jedes mal Daten in eine MySQL DB geschrieben... Was verwunderlich ist und das Problem darstellt: Der Verbrauch des Arbeitsspeichers, des Buffers etc. schaukelt sich ganz langsam nach oben?!? Bis schliesslich das Limit erreicht ist und der Server rebootet werden muss... Für den MySQL Server nutze ich das vordefinierte Config File my-medium.cnf... Hier mal ein Auszug von "top" : 11:48pm up 10 min, 2 users, load average: 1.03, 0.84, 0.46 149 processes: 147 sleeping, 1 running, 1 zombie, 0 stopped CPU0 states: 10.2% user, 6.3% system, 0.0% nice, 82.3% idle CPU1 states: 9.1% user, 8.4% system, 0.0% nice, 81.3% idle Mem: 513312K av, 141628K used, 371684K free, 0K shrd, 40608K buff Swap: 1049576K av, 0K used, 1049576K free 21164K cached PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND 5320 mysql 17 0 3376 3376 1380 D 0.0 0.6 0:00 mysqld 519 mysql 18 0 3372 3372 1380 R 0.1 0.6 0:00 mysqld 520 mysql 9 0 3372 3372 1380 S 0.1 0.6 0:01 mysqld 516 mysql 9 0 3368 3368 1380 S 0.0 0.6 0:00 mysqld 3418 www 9 0 2976 2976 2420 S 0.0 0.5 0:00 httpsd 2812 www 9 0 2972 2972 2396 S 0.0 0.5 0:00 httpsd 3476 www 9 0 2972 2972 2396 S 0.1 0.5 0:00 httpsd Also ich weiss echt nicht wie ich das verstehen soll... Hat vielleicht von euch jemand eine Idee? Viele Grüße, Dennis.
* Dennis Wicht wrote on 13 Jul 2002:
Guten Abend!
Ich habe auf unserem Server Suse Linux 7.3 Minimalinstallation drauf.
Der Server hat pro Tag um die 300.000 - 400.000 Anfragen. Dabei werden jedes mal Daten in eine MySQL DB geschrieben...
Was verwunderlich ist und das Problem darstellt:
Der Verbrauch des Arbeitsspeichers, des Buffers etc. schaukelt sich ganz langsam nach oben?!?
Wo siehst Du das?
Bis schliesslich das Limit erreicht ist und der Server rebootet werden muss...
Welches Limit? Hm, wäre vielleicht ein Gedanke, wenn Du die Fehlermeldung schickst... das wäre generell eine gute Idee...
Für den MySQL Server nutze ich das vordefinierte Config File my-medium.cnf...
Hier mal ein Auszug von "top" :
11:48pm up 10 min, 2 users, load average: 1.03, 0.84, 0.46 149 processes: 147 sleeping, 1 running, 1 zombie, 0 stopped CPU0 states: 10.2% user, 6.3% system, 0.0% nice, 82.3% idle CPU1 states: 9.1% user, 8.4% system, 0.0% nice, 81.3% idle Mem: 513312K av, 141628K used, 371684K free, 0K shrd, 40608K buff Swap: 1049576K av, 0K used, 1049576K free 21164K cached
Und? Ist doch ganz gut. Wäre vielleicht besser wenn die Uptime höher wäre, dann würde man Deinen "Fehler" sehen...
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND 5320 mysql 17 0 3376 3376 1380 D 0.0 0.6 0:00 mysqld 519 mysql 18 0 3372 3372 1380 R 0.1 0.6 0:00 mysqld 520 mysql 9 0 3372 3372 1380 S 0.1 0.6 0:01 mysqld 516 mysql 9 0 3368 3368 1380 S 0.0 0.6 0:00 mysqld 3418 www 9 0 2976 2976 2420 S 0.0 0.5 0:00 httpsd 2812 www 9 0 2972 2972 2396 S 0.0 0.5 0:00 httpsd 3476 www 9 0 2972 2972 2396 S 0.1 0.5 0:00 httpsd
Äh ja - Was gibts da für ein Problem?
Also ich weiss echt nicht wie ich das verstehen soll...
Ähm, ich auch nicht.
Hat vielleicht von euch jemand eine Idee?
Nö, ich weiß nicht, welches Problem Du hast. Greetz, Tom -- Preissler Thomas Registered Linux User #265745 GPG-Key: 1024D/C21DAB7F http://counter.li.org/
Hallo!
Der Verbrauch des Arbeitsspeichers, des Buffers etc. schaukelt sich ganz langsam nach oben?!?
Wo siehst Du das?
Mit dem Programm "top" kannst du beaobachten wie die Systemauslastung ist... also live...
Bis schliesslich das Limit erreicht ist und der Server rebootet werden muss...
Welches Limit?
Das Problem besteht daran das der Arbeitsspeicher irgendwann mal voll ausgenutzt ist!
Hm, wäre vielleicht ein Gedanke, wenn Du die Fehlermeldung schickst... das wäre generell eine gute Idee...
Da gibt es keine ;-)
11:48pm up 10 min, 2 users, load average: 1.03, 0.84, 0.46 149 processes: 147 sleeping, 1 running, 1 zombie, 0 stopped CPU0 states: 10.2% user, 6.3% system, 0.0% nice, 82.3% idle CPU1 states: 9.1% user, 8.4% system, 0.0% nice, 81.3% idle Mem: 513312K av, 141628K used, 371684K free, 0K shrd, 40608K buff Swap: 1049576K av, 0K used, 1049576K free 21164K cached
Und? Ist doch ganz gut. Wäre vielleicht besser wenn die Uptime höher wäre, dann würde man Deinen "Fehler" sehen...
Ja logo sieht das gut aus... Nur wenn du das Live sehen würdest, könntest du eine stetige Steigerung des verbrauchten Arbeitsspeichers beobachten... Aber zu guter Letzt hab ich das Problem gefunden ;-)) Hab in der Mysql config einfach den Eintrag "no-auto-rehash" entfernt ... Was immer das auch heißen mag.... ;-) Nun funzt der Server einwandfrei *freu* Trotzdem Danke und Grüße, Dennis.
* Dennis Wicht wrote on 14 Jul 2002:
Hallo!
Der Verbrauch des Arbeitsspeichers, des Buffers etc. schaukelt sich ganz langsam nach oben?!?
Wo siehst Du das?
Mit dem Programm "top" kannst du beaobachten wie die Systemauslastung ist... also live...
War wohl klar.
Bis schliesslich das Limit erreicht ist und der Server rebootet werden muss...
Welches Limit?
Das Problem besteht daran das der Arbeitsspeicher irgendwann mal voll ausgenutzt ist!
Das ist doch nicht weiter schlimm. Schlimm wäre es, wenn es hieße "not enough memory to fork" oder "too many open files" oder "too many open connections". Auch bei meinem privaten Rechner hier läuft der Speicher komplett voll. 1:24am up 3:27, 7 users, load average: 0.01, 0.02, 0.00 104 processes: 103 sleeping, 1 running, 0 zombie, 0 stopped CPU states: 1.9% user, 13.1% system, 0.0% nice, 84.9% idle Mem: 707392K av, 702932K used, 4460K free, 0K shrd, 412720K buff Swap: 104384K av, 2612K used, 101772K free 51108K cached Er fängt ja sogar zum Auslagern an. Da mache ich mir keine Sorgen. Sorgen würde ich mir in meinem Fall machen, wenn der Swap komplett aufgebraucht ist, oder der Load Average raufgeht, mehr als 100. Wenn ich dann aber sehe, dass ich mehr als 1000 Prozesse habe, dann würde ich das verstehen, dass ich ein Speicher-Problem habe. Ich würde aber nicht verstehen, woher 1000 Prozesse kommen. Und danach würde ich suchen.
Hm, wäre vielleicht ein Gedanke, wenn Du die Fehlermeldung schickst... das wäre generell eine gute Idee...
Da gibt es keine ;-)
Dann passt ja alles.
11:48pm up 10 min, 2 users, load average: 1.03, 0.84, 0.46 149 processes: 147 sleeping, 1 running, 1 zombie, 0 stopped CPU0 states: 10.2% user, 6.3% system, 0.0% nice, 82.3% idle CPU1 states: 9.1% user, 8.4% system, 0.0% nice, 81.3% idle Mem: 513312K av, 141628K used, 371684K free, 0K shrd, 40608K buff Swap: 1049576K av, 0K used, 1049576K free 21164K cached
Und? Ist doch ganz gut. Wäre vielleicht besser wenn die Uptime höher wäre, dann würde man Deinen "Fehler" sehen...
Ja logo sieht das gut aus... Nur wenn du das Live sehen würdest, könntest du eine stetige Steigerung des verbrauchten Arbeitsspeichers beobachten...
Ja, Prozesse brauchen Speicher, mehr Prozesse brauchen mehr Speicher. Jeder MySQL-Connect forked einen mysqld.
Aber zu guter Letzt hab ich das Problem gefunden ;-))
Hab in der Mysql config einfach den Eintrag "no-auto-rehash" entfernt ... Was immer das auch heißen mag.... ;-)
Deaktivieren, aber nicht wissen, was es wirklich macht... tststs
Nun funzt der Server einwandfrei *freu*
Bei mir in der Arbeit laufen hunderte MySQL-Server, viele 7.3er und bei keinem musste ich diesen Wert ändern. fyi: Linux macht im Gegensatz zu anderen OS's exzessiv Gebrauch von Speicher, der nicht von den Programmen belegt wird, wird für Buffer und Cache verwendet. Oder soll er wie bei älteren Windoof's brach liegen? Was der Unterschied zwischen Buffer und Cache ist, muss ich Dich auf Google verweisen. Greetz, Tom -- Preissler Thomas Registered Linux User #265745 GPG-Key: 1024D/C21DAB7F http://counter.li.org/
participants (2)
-
Dennis Wicht
-
Thomas Preissler