Präzise Kontrolle
Anwendungen und Prozesse mit Bordmitteln optimal steuern
Unter die Haube geschaut
Erfahren Sie auch so nichts über die Fehlerursache, verfolgen Sie mit Strace, welche Systemfunktionen der Prozess aufruft und welche Rückgabewerte diese liefern. So schauen Sie mit strace free an, was das Tool Free alles veranstaltet, um die Speicherauslastung des Systems zu ermitteln und anzuzeigen.
Interessiert Sie nur, welche Dateien der Befehl öffnet, schränken Sie die ausführliche Ausgabe des Befehls mit strace -e trace=open free auf die Systemfunktion open ein. Die Option -e trace=file filtert hingegen alle dateirelevanten, -e trace=process alle prozessverwaltungsbezogenen und -e trace=network alle netzwerkspezifischen Funktionen. Mehrere Angaben trennen Sie mit Komma, zum Beispiel: -e trace=open,close.
Mit der Option -f weisen Sie strace an, Kind-Prozesse zu verfolgen, und mit -v erhalten Sie noch mehr Informationen. Auf einen bereits laufenden Prozess setzen Sie Strace mit der Option -p Prozessnummer
an. Und mit strace -o strace.txt landet die Ausgabe des Befehls in einer Datei.
An der Ausgabe von Strace erkennen Sie zum Beispiel leicht, wenn ein Programm eine bestimmte Datei zu öffnen versucht und deshalb nicht startet. In anderen Fällen sind die Ausgaben ohne tiefere Systemkenntnisse allerdings nur schwer verständlich. Dem Entwickler eines Programms helfen sie mitunter jedoch, einen Fehler näher einzugrenzen.
Glossar
Prozess-Scheduler
Teil des Betriebssystems, der laufenden Prozessen Rechenzeit zuteilt. Linux verfügt über einen preemptiven Scheduler, der einen Prozess unterbricht, sobald dieser die ihm zugeteilte Rechenzeit aufgebraucht hat. Durch den schnellen Wechsel zwischen einzelnen Prozessen entsteht der Eindruck, als liefen diese gleichzeitig.
IO-Scheduler
Teil des Betriebssystem, der Lese- und Schreibaufträge an Massenspeicher in eine geeignete Reihenfolge bringt. Der Linux-Kernel unterstützt dabei mehrere Konzepte. Standardmäßig kommt mittlerweile das Completely Fair Queueing (CFQ) zum Einsatz.
Runlevel
Systemzustand, in dem bestimmte Dienste gestartet oder nicht gestartet sind.
TTY
Teletypewriter. Ursprünglich eine Schreibmaschine mit einem elektronischen Kommunikationskanal. Unter Linux Ein- und Ausgabe-Schnittstelle zum Terminal.
[1] Runlevel bei Wikipedia: http://de.wikipedia.org/wiki/Runlevel
[2] Prozesse beenden: Heike Jurzik, "Kurzer Prozess", LinuxUser 12/2003, S. 77, http://www.linux-user.de/ausgabe/2003/12/077-zubefehl/
[3] Webseite von Htop: http://htop.sourceforge.net
[4] Grundlagenartikel zum Speichermanagement: http://wiki.debianforum.de/LinuxSpeichermanagement
[5] Signalnamen und Signalnummern: http://strcat.de/eigenes/signale.html



