Hallo, wie kann man herausfinden, was in fhem den ram/cpu verbraucht? Welches Modul? Was könnte die Ursache sein? Ist es möglich, einen Thread Dump ähnlich wie bei Java zu machen?htop.PNG
Ein Ansatz wäre, die Module (z.B. INDEGO) nacheinander auf "disable 1" zu setzen,
attr TYPE=INDEGO disable 1
zu schauen, ob die CPU-Last runtergeht und anschließend wieder auf "disable 0" zu setzen.
Gruß Jens
hier fehlen wieder unheimlich viele Angaben. Wie lange tritt denn die Thematik schon auf, kam das nach irgendeiner Änderung (auch am eigenen Netzwerk/Internet?) oder wurde eine FHEM oder Betriebssystem-Update gemacht?
Hast du evtl. vor dem Problem an der FHEM-Konfiguration eine Änderung vorgenommen? Hast du ggfs. irgendwelche For/While-Schleifen in einem Notify/AT/Watchdog benutzt?
Wichtig wäre auch die Ausgabe von:
cat /opt/fhem/fhem.cfg | grep dns
Wenn hier nichts kommt, dann müsst du das Attribut mal setzen, wenn was kommt, stimmt die IP mit deinem DNS-Server (z.B. deiner Fritzbox) überein?
attr global dnsServer $IP_DEINES_ROUTERS
Wenn das Problem nur sporadisch kommt, dann würde ich mal mit "freezemon" ansetzen.
Was passiert eigentlich wenn du
tail -f /opt/fhem/log/$dein_aktuelles_fhem_log
machst?
Bleibt die Ausgabe stehen oder rattert es wild durch? Wenn es stehen bleibt, dann poste hier mal bitte die letzten Zeilen deines FHEM-Log, bitte Code-Tags verwenden!
Grüße
Andreas
Nach einigen Recherchen fand ich heraus, dass HeosMaster einen internen "PARTIAL"-Wert hat, der Teilwerte sammelt. Irgendetwas passierte, als ich mein Heos wieder anschloss und danach begann "PARTIAL" eine große Menge an Daten zu sammeln, ohne sie zu bereinigen, so dass es nach ein paar Tagen etwa 20 MB an Daten hatte. Ich habe einige Änderungen am Modul vorgenommen, und wenn so etwas wieder passiert, setze ich die maximale Länge auf etwa 3k Zeichen und erzwinge dann die Bereinigung.