Hauptmenü

Fhem Leistung

Begonnen von Teemo, 07 Juni 2023, 10:44:53

Vorheriges Thema - Nächstes Thema

Teemo

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?Du darfst diesen Dateianhang nicht ansehen. 

JensS

Ein Ansatz wäre, die Module (z.B. INDEGO) nacheinander auf "disable 1" zu setzen,
attr TYPE=INDEGO disable 1zu schauen, ob die CPU-Last runtergeht und anschließend wieder auf "disable 0" zu setzen.

Gruß Jens
Debian auf APU2C4, HM-CFG-USB2, SIGNALduino, HM-ES-PMSw1-Pl, TFA 30.3121, TFA 30.3125, ITS-150, PIR-5000, configurable Firmata USB & LAN, 1-wire: DS-18B20, DS-18S20, DS-2408, DS-2413, diverse I2C-Komponenten, zigbee2mqtt, ESPEasy etc.

bartman121

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 dnsWenn 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_logmachst?
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

Teemo

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.