Strace verwenden

Aus FHEMWiki

Auf Linux-Maschinen können mit dem Befehl

strace -p PIDvonFHEM -ttT -o strace.log

sämtliche Systemaufrufe von FHEM in eine Datei protokolliert werden. Dabei wird jeder Zeile ein Zeitstempel (aktuelle Uhrzeit) vorangestellt und die Dauer des Systemaufrufs in Sekunden in spitzen Klammern hintenangestellt.

Um nur Aufrufe von select und write zu sehen, kann man mit der Option

-e trace=select,write

vorfiltern. Näheres ist der Manpage von strace zu entnehmen.

Lang laufende Operationen (eine Sekunde oder länger) werden dann parallel dazu in einem anderen Terminal mit

tail -f strace.log | grep -v '<0.' 

herausgefiltert.

Um herauszufinden, was die Filedeskriptoren bedeuten, wird der Befehl

list .* FD

auf der FHEM-Kommandozeile aufgerufen. Ist der Filedeskriptor nicht dabei, wird man im Verzeichnis

/proc/PIDvonFHEM/fd

fündig.

Um sich alle offenen Files, Sockets und Pipes anzusehen, dient der Befehl:

lsof -p PIDvonFHEM