Hallo Leute,
bei einem Server taucht seit einiger Zeit folgendes Phänomen auf: Wenn er seinen zur Verfügung stehenden RAM völlig genutzt hat und er anfängt zu swappen, steigt die CPU-Load auf hohe 2-stellige Werte an und die Maschine wird nahezu unbenutzbar. Der Speicher wurde vor kurzem von 1 auf 2 GB aufgerüstet, da MySQL-Server. Die Lastprobleme traten vorher auch auf.
Klar das bei der nutzung von swap mehr zeit gebraucht wird, laut iostat dümpelt die Platte (ist ein RAID-1-Verbund) aber nur mit 300 - 400kb/s rum. System ist ein Gentoo 3.3.5 mit 2.6.11-er SMP-Kernel.
Ideen? Was gibt's ausser iostat und vmstat noch für programme, um herauszufinden, wo der flaschenhals ist?
Grüße Marian
Marian Neubert marian@tesla-crew.de (Di 30 Mai 2006 13:18:53 CEST): ...
zu swappen, steigt die CPU-Load auf hohe 2-stellige Werte an und die Maschine wird nahezu unbenutzbar. Der Speicher wurde vor kurzem von 1 auf 2 GB aufgerüstet, da MySQL-Server. Die Lastprobleme traten vorher auch auf.
free ist auch der Meinung, daß Du jetzt 2GB hast?
Klar das bei der nutzung von swap mehr zeit gebraucht wird, laut iostat dümpelt die Platte (ist ein RAID-1-Verbund) aber nur mit 300 - 400kb/s rum. System ist ein Gentoo 3.3.5 mit 2.6.11-er SMP-Kernel.
Vielleicht kann sie nicht schneller? (DMA für die Platten ein?)
Heiko Schlittermann schrieb:
free ist auch der Meinung, daß Du jetzt 2GB hast?
free sagt: total used free shared buffers Mem: 2075644 2005864 69780 0 29228 -/+ buffers/cache: 703868 1371776 Swap: 1004052 68 1003984
Stimmt soweit also.
Vielleicht kann sie nicht schneller? (DMA für die Platten ein?)
Hätte vielleicht dazu sagen sollen, das es SCSI-Platten am Adaptec-Controller sind. Und schneller kann sie eigentlich:
hdparm -t /dev/sda
/dev/sda: Timing buffered disk reads: 166 MB in 3.01 seconds = 55.10 MB/sec
Grüße Marian
On Tuesday 30 May 2006 13:18, Marian Neubert wrote:
Hallo Leute,
bei einem Server taucht seit einiger Zeit folgendes Phänomen auf: Wenn er seinen zur Verfügung stehenden RAM völlig genutzt hat und er anfängt zu swappen, steigt die CPU-Load auf hohe 2-stellige Werte an und die Maschine wird nahezu unbenutzbar. Der Speicher wurde vor kurzem von 1 auf 2 GB aufgerüstet, da MySQL-Server. Die Lastprobleme traten vorher auch auf.
Klar das bei der nutzung von swap mehr zeit gebraucht wird, laut iostat dümpelt die Platte (ist ein RAID-1-Verbund) aber nur mit 300 - 400kb/s rum. System ist ein Gentoo 3.3.5 mit 2.6.11-er SMP-Kernel.
Ideen? Was gibt's ausser iostat und vmstat noch für programme, um herauszufinden, wo der flaschenhals ist?
Grüße Marian
/usr/bin/time verdächtige_applikation gibt die u.a. die pagefaults aus. Je mehr desto swap. (Nicht shell-builtin time verdächtige_applikation!!!)
Knackpunkt wird sein, daß die Applikation nicht nur andere zur Auslagerung zwingt , sondern die geswappten Daten selber braucht (hohe CPU Last, weniger IO-Problem)
Manchmal machen Applikationen aus unklaren Gründen einfach nur sehr viele Dateien auf (speziell beim Start) oder sind "fork bombs" die aus genauso unklaren Gründen der Meinung sind, nur mit 1000.000 Prozessen gleichzeitig zum Ziel zu kommen. Jeder Prozess braucht Speicher. strace -f und grep sind da Mittel zum Zweck Genauso ist es möglich, daß eine Applikation ein "memory leak" hat. (Es wird dabei mehr Speicher angefordert als (Programmierfehler!) freigegeben.)
Bernhard
(Ich hoffe aber auch, daß die Swappartition schnell ist (hdparm -d1 ?).)
Hi,
Marian Neubert schrieb:
Hallo Leute,
bei einem Server taucht seit einiger Zeit folgendes Phänomen auf: Wenn er seinen zur Verfügung stehenden RAM völlig genutzt hat und er anfängt zu swappen, steigt die CPU-Load auf hohe 2-stellige Werte an und die Maschine wird nahezu unbenutzbar. Der Speicher wurde vor kurzem von 1 auf 2 GB aufgerüstet, da MySQL-Server. Die Lastprobleme traten vorher auch auf.
Klar das bei der nutzung von swap mehr zeit gebraucht wird, laut iostat dümpelt die Platte (ist ein RAID-1-Verbund) aber nur mit 300 - 400kb/s rum. System ist ein Gentoo 3.3.5 mit 2.6.11-er SMP-Kernel.
Ideen? Was gibt's ausser iostat und vmstat noch für programme, um herauszufinden, wo der flaschenhals ist?
Grüße Marian
versuch doch mal mit atop herauszufinden, welche(r) Prozess(e) da soviel CPU-Zeit verbrauchen. Du siehst dort auch die Auslastung der IO etc. Vielleicht liegt das Problem ja auch woanders .... Es kam auch schon vor, das das RAID das Problem selbst ist. (Das Problem gab es gerade bei einem Server für ein Online-Game, wo auch ein MySQL läuft und das System durch Fehler im RAID zusammengebrochen war.)
Grüsse
Matthias
lug-dd@mailman.schlittermann.de