Immer größere Datenmassen sicher zu speichern ist eine Herausforderung für jede IT-Infrastruktur. Schon mit Gigabit-Ethernet lassen sich aber ... (mehr)

Gutes Timing

Eine andere Gruppe von Optionen, die zur Ausgabe von Zeitstempeln dient, ist hilfreich, wenn ein Programm hängt oder sehr langsam ist. Damit lassen sich problematische Stellen lokalisieren. Die Schalter »-t« , »-tt« und »-ttt« geben jeweils zu Beginn jeder Zeile die absolute Zeit in Sekunden respektive Mikrosekunden aus. Die Option »-T« zeigt daraufhin, wie lange jeder einzelne Systemaufruf gedauert hat, »-r« gibt einen relativen Zeitstempel aus.

Mit »-c« aufgerufen gibt Strace am Ende eine Statistik aus, die die Anzahl der Aufrufe, aufgetretene Fehler und die Dauer der Systemaufrufe dokumentiert. Das ist ganz praktisch, wenn der Admin einen Fehler sucht, aber nicht recht weiß, wo er anfangen soll.

Um die Ausgabe noch etwas zu verkürzen, bietet Strace zusätzlich die Möglichkeit an, mit »-e« nach bestimmten Systemaufrufen zu filtern. Dann protokolliert »strace -e trace=open,read,write« nur die Syscalls »open()« , »read()« und »write()« . So können Sie sich zum Beispiel nur jene Aufruf anzeigen lassen, die in der Ausgabe von »-c« verdächtig erscheinen. Umgekehrt zeigt »-v« alles etwas ausführlicher.

Skript-Wrapper als Notnagel

Da es nicht immer möglich ist, ein Programm unter Produktionsbedingungen zu testen, hilft es manchmal, einen Shell-Wrapper zu verwenden, um es mit Strace debuggen zu können. Benennen Sie das Programm zum Beispiel in »Befehl.alt« um. Das Skript in Listing 8 speichern Sie dann unter dem Namen »Befehl« .

Listing 8

Shell-Wrapper

01 #!/bin/sh
02 strace -o /tmp/Befehl_out.$$ /usr/bin/Befehl.alt $*

Damit wird das ursprüngliche Kommando unter Strace-Kontrolle ausgeführt, wobei jedes Mal ein neues Logfile entsteht. Vergessen Sie aber nicht, nach dem Debuggen dem Programm seinen ursprünglichen Namen zurückzugeben.

Praktisch ist auch der Strace-Schalter »-p Prozess-ID« . Mit ihm können Sie schon laufende Programme debuggen. Wenn Sie beispielsweise in der Prozessliste einen Prozess sehen, der viel Rechenzeit verbraucht, können Sie so nachsehen, was er gerade macht.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Zertifikatsmanagement mit Certmonger

Zertifikate werden dazu verwendet, um Benutzer, Services und Hardware mit der Hilfe eines signierten Schlüssels zu verifizieren. Hierfür existieren Public-Key-Infrastrukturen (PKI). Aber wie gelangen die Zertifikate eigentlich auf das Ziel-Gerät? Der Open-Source-Tipp in diesem Monat beschreibt, wie Sie für diese Aufgabe das Tool certmonger verwenden können. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Linux-Backup

Welche Backup-Lösung setzen Sie für Linux im professionellen Umfeld ein?

  • keine
  • eigene Scripts
  • rsnapshot
  • rdiff-backup
  • Bacula
  • Bareos
  • Borg
  • Duplicity
  • Amanda
  • Burp
  • Clonezilla
  • Acronis
  • Arkeia
  • SEP sesam
  • Veeam
  • Redo Backup
  • Relax-and-Recover
  • andere kommerzielle Software
  • andere Open-Source-Software

Google+

Ausgabe /2017

Microsite