Strace verwenden
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