Zyklisches Auslesen des Speichers für die Diagnose bei Speicherlecks in LANCOM-Geräten

06.01.2024
Dieser Inhalt ist bereits etwas älter.
This content is already a bit old.
Bild

Vor kurzem hatte ich ein ärgerliches Problem: Ein LANCOM-Router startete ca. 2 Mal am Tag durch einen Watchdog neu.

Nun benötigt in so einen Falle des Support von LANCOM folgende Daten:

  • Support-Konfigurationsdatei (LANconfig > Gerät auswählen > Trace-Ausgabe erstellen > Datei > Support-Konfigurationsdatei speichern)
  • Bootlog ("show bootlog")
  • Ein "show heap -v" kurz nach einem sauberen Neustart
  • Ein "show heap -v" kurz vor dem Neustart des Gerätes (und hier wirds eng)

Jetzt kann man natürlich die "manuelle" Methode nehmen und immer wieder in der Konsole "show mem" sowie "show heap -v" ausführen.

Wenn man viel Glück hat, bekommt man ein Speicherabbild kurz vor dem Absturz.

In meinem Fall konnte das Speicherleck das System so schnell zur Crash bringen, dass bei der Anzeige des freien Speichers unter 60 MB schon viel zu spät war: Ca. 1 Sekunden später war das System schon im Neustart...

Also bringen wir etwas Automatisierung in die Sache:

repeat 60 ; show mem ; show heap -v

Diesen Befehl in der Konsole eingeben und Putty einfach alles in eine Textdatei loggen lassen. Der Befehl schreibt nun jede Minute die aktuelle Speichernutzung sowie den Inhalt des Arbeitsspeichers in die Ausgabe, also somit in die Textdatei. Eine kleine Warnung: Die Textdatei kann bei den aktuellen LANCOM-Modellen mit 256 MB (oder mehr) Arbeitsspeicher schnell sehr groß werden. Wir reden hier unter Umständen von mehreren hundert Gigabyte.


 

Feedback, suggestions for improvement, further ideas?

Simply use the contact form or send an email directly to info@kirgus.net.