Hallo,
ich habe bei mir das Problem mit einem Speicherloch und dabei meine Perl-Version in Kombination mit Regexp bei den DOIFs im Verdacht.
Siehe: https://forum.fhem.de/index.php/topic,123021.0.html (https://forum.fhem.de/index.php/topic,123021.0.html)
Als wäre der Fehler aus Perl 5.24 in 5.32.1 wieder da.
Die Frage ist nun, reicht es die DOIFs auf disabled zu setzen um sie "genug" zu deaktivieren, oder muss ich sie wirklich rausnehmen aus der Config.
Ist jedes DOIF betroffen, oder muss es bestimmte "Anforderungen erfüllen"?
Danke!
Gruß,
Hugo
Das Problem aus der Version 5.24 wurde durch Anpassung des Programmcodes weitgehend reduziert. Betroffen waren damals DOIF-Devices, die oft getriggert wurden.
Man kann apptime paar Minuten laufen lassen. Dann sieht man schnell welche Devices viel zu tun haben, die könnte man als erstes deaktivieren.
Beim DOIF sollte man per Attribut disable das Device deaktivieren. Es wird zwar noch getriggert, aber macht so gut wie nichts, im Gegensatz zum einfachen set disable - hierbei bleibt das Modul mehr aktiv.
Die DOIFs waren es nicht, aber die nächsten Verdächtigen habe ich dank apptime gefunden.
name function max count total average maxDly avgDly TS Max call param Max call
HMLAN1 HMLAN_Ready 3150 266684 2216242.28 8.31 0.00 0.00 22.09. 05:18:12 HASH(HMLAN1)
HMLGW2 HMUARTLGW_Ready 281 252013 111095.43 0.44 0.00 0.00 22.09. 04:01:33 HASH(HMLGW2)
FIRMATA_192.168.64.129_1052 FRM_Read 290 113284 23479.77 0.21 0.00 0.00 22.09. 04:54:08 HASH(FIRMATA_192.168.64.129_1052)
tmr-FRM_Monitor HASH(0x8094b9e10) 130 42817 7734.28 0.18 19471.26 73.90 22.09. 05:40:38 HASH(FIRMATA)
tmr-FRM_Monitor HASH(0x8097faf90) 76 42817 4515.60 0.11 19471.40 73.96 21.09. 23:52:29 HASH(FIRMATA_Pool)
Battery_Low notify_Exec 166 30643 3891.20 0.13 0.00 0.00 22.09. 05:30:53 HASH(Battery_Low); HASH(KWL_EG_KG)
Freezemon freezemon_Notify 0 30643 431.15 0.01 0.00 0.00 22.09. 05:41:23 HASH(Freezemon); HASH(at_AC_KZ_DG_control)
Gaszaehler GasCalculator_Notify 241 30643 5314.47 0.17 0.00 0.00 21.09. 19:10:53 HASH(Gaszaehler); HASH(KWL_EG_KG)
Danke für den Tipp!
Grüße,
Hugo