PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : System friert ein - Werd aus dem Log nicht schlau



leiner
22-08-2008, 07:44
Hallo Leute

Unser Internet-Gateway hat jetzt zum zweiten mal innerhalb von 2 Monaten die Grätsche gemacht - ist quasie eingefroren. Zugriff weder über Netz noch an der Konsole möglich.
-Natürlich immer dann wenn ich nicht in der Firma bin.-

Meine "Vertretung" hat an einem ganz anderen Gerät rumgemacht. Nach ca. 2 Stunden war alles wieder gut - ohne Neustart oder so.
Läuft auch immer noch als wenn Sie kein Wässerchen trüben könnte.


In der /var/log/warn steht folgender Auszug:


Aug 21 14:15:32 zeus kernel: oom-killer: gfp_mask=0x1d2
Aug 21 14:15:32 zeus kernel: DMA per-cpu:
Aug 21 14:15:32 zeus kernel: cpu 0 hot: low 2, high 6, batch 1
Aug 21 14:15:32 zeus kernel: cpu 0 cold: low 0, high 2, batch 1
Aug 21 14:15:32 zeus kernel: Normal per-cpu:
Aug 21 14:15:32 zeus kernel: cpu 0 hot: low 12, high 36, batch 6
Aug 21 14:15:33 zeus kernel: cpu 0 cold: low 0, high 12, batch 6
Aug 21 14:15:34 zeus kernel: HighMem per-cpu: empty
Aug 21 14:15:47 zeus kernel:
Aug 21 14:15:50 zeus kernel: Free pages: 2068kB (0kB HighMem)
Aug 21 14:15:55 zeus kernel: Active:13290 inactive:12615 dirty:0 writeback:0 unstable:0 free:517 slab:2672 mapped:25329 pagetables:423
Aug 21 14:15:56 zeus kernel: DMA free:620kB min:180kB low:224kB high:268kB active:6168kB inactive:5244kB present:16384kB pages_scanned:21495 all_unreclaimable? yes
Aug 21 14:15:56 zeus kernel: lowmem_reserve[]: 0 110 110
Aug 21 14:15:56 zeus kernel: Normal free:1448kB min:1256kB low:1568kB high:1884kB active:46992kB inactive:45216kB present:113628kB pages_scanned:9527 all_unreclaimable? no
Aug 21 14:15:56 zeus kernel: lowmem_reserve[]: 0 0 0
Aug 21 14:15:56 zeus kernel: HighMem free:0kB min:128kB low:160kB high:192kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
Aug 21 14:15:56 zeus kernel: lowmem_reserve[]: 0 0 0
Aug 21 14:15:56 zeus kernel: DMA: 1*4kB 1*8kB 0*16kB 1*32kB 1*64kB 0*128kB 0*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 620kB
Aug 21 14:15:56 zeus kernel: Normal: 38*4kB 10*8kB 2*16kB 5*32kB 0*64kB 2*128kB 1*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 1448kB
Aug 21 14:15:56 zeus kernel: HighMem: empty
Aug 21 14:15:56 zeus kernel: Swap cache: add 406452, delete 406452, find 677584/699195, race 0+4
Aug 21 14:15:56 zeus kernel: Free swap = 0kB
Aug 21 14:15:56 zeus kernel: Total swap = 265032kB
Aug 21 14:15:56 zeus kernel: Out of Memory: Killed process 11834 (squidGuard).


Ich werd aber nicht so recht schlau draus.
War die CPU zu heiss? Oder war es der DMA-Controller? Oder ist die Platte kaputt und hat im Swap eine Speicherpage verbogen?
Wie gesagt ich werd nicht schlau draus??

Auf der Kiste läuft nur Postfix mit greylist, squid, ipsec.

Kernel ist 2.6.11.4 von eine Suse.

Bin für jeden Tipp dankbar!!

GRuss Leiner

ContainerDriver
23-08-2008, 10:58
Hallo,

nach der Log-Datei würde ich sagen, dass der Maschine einfach der Speicher (RAM + Swap) ausgegangen ist und deshalb hat der Kernel einen Prozess getötet. Wie viel RAM hat der Rechner denn?

Gruß, Florian

peschmae
23-08-2008, 13:27
Swap ist auch nicht gerade riesig ;)

BLUESCREEN3D
23-08-2008, 15:02
Wenn die Zahlen hinter "present" zusammengezählt den RAM ergeben, dann wären das 128MB.

@leiner: Da hilft wohl nur mehr RAM oder mehr Swap. Vorher solltest du aber prüfen, ob nicht noch unbenötigte Programme laufen, die viel Speicher verbrauchen.

leiner
25-08-2008, 08:04
Hallo Ihr alle da draussen

Erstmal vielen Danke das Ihr euch Zeit genommen habt.+

Speicher:
Ja Ich hab mit erschrecken festgestellt das es wirklich nur 128MB sind.
Swap sind auch nur 256MB.

Ich habe Samstag als erste Hilfe die Kiste runtergefahren, CPU-Kühle durchgepustet (.. CPU hot ?? ...) und 512MB reingesteckt.

Mit dem Swap muss ich mal sehen ob ich auf der Platte irgendwo noch etwas Platz finde um den Swap zu erhöhen.

Und was sagt mir der teil mit DMA uns CPU hot?

Aber nochmals schon mal vielen Danke für eure Hilfe!!

Gruss Leiner

undefined
25-08-2008, 09:53
Du kannst auch mehrere Swaps anlegen, Linux verlangt nicht das die auf der gleichen Platte liegen müssen. Du kannst zum beispiel auch hingehen ohne Automount einen extra Swap bei bedarf von einer USB Festplatte zu holen.

leiner
25-08-2008, 15:51
Hallo Undefined


Du kannst auch mehrere Swaps anlegen, Linux verlangt nicht das die auf der gleichen Platte liegen müssen. Du kannst zum beispiel auch hingehen ohne Automount einen extra Swap bei bedarf von einer USB Festplatte zu holen.

uff aber ich denke USB-Platte ist nicht wirklich zu empfehlen oder?

Im Moment habe ich eher die Idee eine Swap Datei anzulegen. Auf einer Partition sind noch diverse GB frei, und da auf dem Gateway nicht wirklich Daten gespeichert werden wird die Partition wohl vorerst nicht voll laufen.
Ich habe zwar die ganze Platte Partitioniert aber mit der Aufreilung hab ich wohl etwas daneben gelegen. War wohl nicht meine besste Leistung das System :(.
Dafür läuft die Kiste noch erschreckend gut - Linux eben.

Gruss Leiner

ContainerDriver
25-08-2008, 16:05
Hallo Undefined


uff aber ich denke USB-Platte ist nicht wirklich zu empfehlen oder?

Im Moment habe ich eher die Idee eine Swap Datei anzulegen. Auf einer Partition sind noch diverse GB frei, und da auf dem Gateway nicht wirklich Daten gespeichert werden wird die Partition wohl vorerst nicht voll laufen.


Eine Swap-File ist denke ich besser als auf eine USB-Festplatte zuzugreifen.
Wenn das Problem wieder auftreten sollte kannst du vielleicht auch mal schauen, ob du die Versionen der laufenden Dienste auf den neusten Stand bringen kannst (den Kernel, den du verwendest ist ja ziemlich alt), eventuell haben die aktuell laufenden Versionen Bugs (z.B. Speicherlecks).

leiner
26-08-2008, 07:54
Hallo ContainerDriver

Eine Swap-File ist denke ich besser als auf eine USB-Festplatte zuzugreifen.
Wenn das Problem wieder auftreten sollte kannst du vielleicht auch mal schauen, ob du die Versionen der laufenden Dienste auf den neusten Stand bringen kannst (den Kernel, den du verwendest ist ja ziemlich alt), eventuell haben die aktuell laufenden Versionen Bugs (z.B. Speicherlecks).

Ich hatte den squid in Verdacht da er als letztes in Produktivität gegangen ist.
Deshalb habe ich ihn per cron in der Nacht einmal durchgestartet.
Nach ja schad' zwar nicht, aber hilft auch nicht.

Also im Moment (2Tage und 19Stunden uptime) wird 216MB Speicher und 2,6MB Swap verbraucht. Damit ist der physikalische Speicher (seit Samstag 512MB) nicht mal halb voll.
Mich würd jetzt ja mal interessieren warum bei dieser geringen Speicherauslastung überhaupt etwas im Swap gelandet ist.


Gruss Leiner

BLUESCREEN3D
26-08-2008, 12:28
Log doch einfach für ein paar Tage dem RAM-Verbrauch, wenn dich der Verlauf interessiert:

logfile="mem.log"
while true; do
echo $(grep "^MemFree:\|^Buffers:\|^Cached:\|^SwapFree:" /proc/meminfo | tr -d -c "0-9\n") >> "$logfile"
sleep 1m
done
Den Verlauf kannst du dann auch z.B. mit gnuplot darstellen:

plot "mem.log" using 0:1 w lp, "" using 0:2 w lp, "" using 0:3 w lp, "" using 0:4 w lp

leiner
27-08-2008, 08:06
Log doch einfach für ein paar Tage dem RAM-Verbrauch, wenn dich der Verlauf interessiert:
--schnipp---



Hay Bluescreen

Hab ich gleich gestern Abend ausprobiert und die Log-Datei die Nacht über laufen lassen. Die echo $() war mir neu - man lernt nie aus :) :)



6228 72548 145876 468956
5696 67212 145020 468956
24144 65620 143248 468956
5820 69132 143368 468956
6524 74244 131236 468956
...

So sollte das aussehen oder??

Leider haut plot nicht hin:

#PLOT 1
o5228 72548 145876 468956
5596 6�89 145020 45���6�98944 65620 143248 458956���20 69$8 4689561U�R968 468956
plot: unrecognized command `0x20' encountered in input
plot: could not parse input file `mem.planck.log'
6524 74E$l�6;�@61���ب6l�6;�@6LBa2�#7E5MBa2u��776 45z66դ�720 73z66<��7�@6�n�75?';6�87560xplanck:/tmp #


Ich kann aber in der Log-datei nicht ausser Zahlen finden.
Ich muss aber gestehen plot sagt mir garnicht, deshalb weiss ich so garnicht was der von mir will. - kannst Du mich erleuchten

Gruss Leiner

mehlvogel
27-08-2008, 09:14
Der Befehl den BLUESCREEN gepostet hat, musst du innerhalb des Programms "gnuplot" verwenden, nicht direkt auf der Konsole.

leiner
27-08-2008, 13:13
Der Befehl den BLUESCREEN gepostet hat, musst du innerhalb des Programms "gnuplot" verwenden, nicht direkt auf der Konsole.

Danke
Kaum macht man's richtig und schon gehts!!

Da stand ja auch was von gnuplot - wer lesen kann.

Ich seh jetzt was

Mal sehen ob ich dem dan auch eine Sinn entnehmen kann.

Noch mals Danke

Leiner