[gelöst] HMCCU RAM bedarf deutlich höher als bei CUL_HM?

Begonnen von WhyTea, 07 Juni 2023, 10:28:55

Vorheriges Thema - Nächstes Thema

WhyTea

Hallo
Im März diesen Jahres habe ich angefangen von CUL_HM auf HMCCU umzustellen.

Als CCU benutze ich debmatic in einer eigenen VM. Abgesehen von Systemupdates wurde seit der Inbetriebnahme von FHEM keine zusätzliche Software auf dem System installiert.

Heute Nacht hatte ich schon das zweite mal innerhalb von zwei Wochen einen ungeplanten und ungewollten Neustart vom FHEM.
Bei der Analyse ist mir aufgefallen, dass FHEM seit dem Beginn der Umstellung deutlich mehr RAM benötigt. Siehe Bilder.

Man kann deutlich sehen, dass der benötigte RAM bis März absolut konstant war ab dann wird deutlich mehr RAM benötigt bis hin zur völligen Auslastung von RAM und SWAP und dem damit verbunden Kill bzw. Neustart von FHEM.

Hat jemand ähnliche Beobachtungen gemacht und das als "normal" bestätigen oder habe ich wahrscheinlich irgendwo einen Konfigurationsfehler?

Gruß
Daniel

zap

Nun, jeder RPC Server ist eine separate FHEM Instan
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

zap

#2
Nun, jeder RPC Server ist eine separate FHEM Instanz. Also 3 aktive RPC Schnittstellen sind 4 FHEM Instanzen. Es gibt auch noch andere Module, die FHEM Prozesse forken. Da kann dann schon einiges zusammenkommen. Bei mir laufen RPC FHEM Prozesse. Allerdings hatte ich noch keine negativen Einflüsse, wobei mein Homeserver 24 GB RAM hat.

Liegt leider daran, dass das antiquierte Perl bzw. viele der verwendeten Module nicht Thread safe sind. Daher kann man keine leichtgewichtigen Threads verwenden sondern muss die Prozesse komplett klonen.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

WhyTea

Ja, das hilft doch schon mal. Danke.
Solange das verhalten erklärbar ist, ist auch alles gut. ;-)

Dann bekommt die VM eben statt 1,5GB 2,5GB RAM.

Ich werde es weiter beobachten und berichten.

Als ich mit FHEM und Homematic anfing brauchte die VM nur 256MB RAM.  ::) 

WhyTea

#4
Hallo.

Ich muss das Thema noch mal aufwärmen.
Der RAM bedarf scheint nicht zu stillen zu sein.

Wie geschrieben habe ich der VM zunächst 2,5 GB RAM zugestanden.
Dies brachte allerdings nur geringe Besserung.

Aktuell habe ich der VM 4,5 GB zugewiesen.

FHEM läuft seit knapp 10 Tagen und belegt 3,5GB RAM und das System beginnt zu swappen.
Wie auf dem Bild zu sehen ist, steigt die RAM Auslastung linear an.

Wie schon zuvor gesagt benötigte FHEM vor dem Umstieg auf HMCCU ca. 512 MB RAM.

Ich kann natürlich nachvollziehen, dass jeder RPC-Service zusätzlichen RAM benötigt aber so viel mehr?

Nach einem Reboot der VM belegt das System mit allen gestarteten Diensten (inkl. drei RPC-Diensten) gerade mal 650 MB RAM.

Wie auf den Bildern zu sehen ist läuft auf dem System abgesehen von FHEM nur noch eine Homebridge die allerdings nur wenig RAM benötigt.

Auf der Suche nach Abhilfe habe ich die VM auf Debian Bookworm und somit Perl auf Version v5.36.0 aktualisiert. Leider erfolglos.

Angehangen sind ein Graph der den Speicherbelegungsverlauf zeigt sowie je eine Aufnahme von HTOP vor und nach einem Reboot.

Ausgabe FHEM Version:
Latest Revision: 27746

File                Rev   Last Change

fhem.pl             27498 2023-04-30 08:50:41Z rudolfkoenig
60_allergy.pm       26833 2022-12-10 23:32:26Z moises
96_allowed.pm       26004 2022-04-29 19:06:05Z rudolfkoenig
98_apptime.pm       19468 2019-05-26 07:13:48Z martinp876
90_at.pm            25248 2021-11-21 10:29:01Z rudolfkoenig
98_autocreate.pm    23727 2021-02-12 20:31:37Z rudolfkoenig
No Id found for 99_Batterycheck.pm
57_Calendar.pm      26344 2022-08-22 15:06:57Z neubert
10_CUL_HM.pm        26934 2022-12-31 16:24:33Z martinp876
93_DbLog.pm         27617 2023-05-25 19:56:44Z DS_Starter
93_DbRep.pm         27746 2023-07-10 22:18:10Z DS_Starter
98_DOIF.pm          27740 2023-07-10 09:31:11Z Damian
98_DOIFtools.pm     22610 2020-08-15 17:21:34Z Ellert
98_dummy.pm         25606 2022-02-01 10:43:57Z rudolfkoenig
70_ENIGMA2.pm       18995 2019-03-22 20:09:53Z loredo
91_eventTypes.pm    23471 2021-01-04 19:24:21Z rudolfkoenig
01_FHEMWEB.pm       27566 2023-05-14 08:52:22Z rudolfkoenig
92_FileLog.pm       27743 2023-07-10 09:44:35Z rudolfkoenig
98_freezemon.pm     25141 2021-10-28 19:13:56Z Adimarantis
89_FULLY.pm         25516 2022-01-20 16:00:19Z zap
88_HMCCU.pm         27641 2023-06-01 17:52:19Z zap
88_HMCCUCHN.pm      26565 2022-10-20 12:24:12Z zap
88_HMCCURPCPROC.pm  26565 2022-10-20 12:24:12Z zap
98_HTTPMOD.pm       27714 2023-06-29 15:30:07Z StefanStrobel
02_HTTPSRV.pm       20110 2019-09-05 17:30:20Z neubert
30_HUEBridge.pm     26438 2022-09-22 06:40:39Z justme1968
31_HUEDevice.pm     26730 2022-11-21 17:28:03Z justme1968
98_IF.pm            12944 2017-01-03 12:56:17Z Damian
36_JeeLink.pm       14707 2017-07-13 18:08:33Z justme1968
98_JsonList2.pm     26701 2022-11-14 09:51:02Z rudolfkoenig
36_LaCrosse.pm      25537 2022-01-21 17:54:29Z HCS
82_LGTV_WebOS.pm    27575 2023-05-16 02:31:41Z CoolTux
98_logProxy.pm      25793 2022-03-07 18:47:32Z justme1968
10_MQTT2_DEVICE.pm  27674 2023-06-12 08:33:06Z rudolfkoenig
00_MQTT2_SERVER.pm  27654 2023-06-04 15:20:06Z rudolfkoenig
75_msgConfig.pm     26965 2023-01-05 06:32:17Z CoolTux
91_notify.pm        25888 2022-03-27 10:22:58Z rudolfkoenig
73_PRESENCE.pm      20782 2019-12-19 10:51:06Z markusbloch
59_PROPLANTA.pm     23449 2021-01-01 09:56:49Z tupol
70_Pushover.pm      27466 2023-04-20 07:51:19Z rudolfkoenig
33_readingsGroup.pm 23844 2021-02-27 19:43:24Z justme1968
91_sequence.pm      27742 2023-07-10 09:32:40Z rudolfkoenig
98_serviced.pm      27227 2023-02-14 20:00:33Z DeeSPe
39_siri.pm          24071 2021-03-24 08:02:11Z justme1968
98_structure.pm     27209 2023-02-12 14:45:51Z rudolfkoenig
99_SUNRISE_EL.pm    24249 2021-04-14 05:45:49Z rudolfkoenig
98_SVG.pm           27261 2023-02-21 09:34:09Z rudolfkoenig
42_SYSMON.pm        26358 2022-08-29 21:11:26Z hexenmeister
32_SYSSTAT.pm       24779 2021-07-20 09:21:08Z justme1968
98_telnet.pm        25754 2022-02-27 16:49:52Z rudolfkoenig
74_Unifi.pm         23500 2021-01-09 15:14:50Z wuehler
74_UnifiClient.pm   19989 2019-08-12 18:25:21Z wuehler
99_Utils.pm         24128 2021-04-02 16:29:11Z rudolfkoenig
77_UWZ.pm           25306 2021-12-06 05:27:48Z CoolTux
98_version.pm       26611 2022-10-28 16:32:29Z betateilchen
91_watchdog.pm      26108 2022-06-01 08:25:03Z rudolfkoenig
59_Weather.pm       27146 2023-01-29 15:27:02Z CoolTux
98_WOL.pm           24102 2021-03-27 20:49:59Z KernSani
71_YAMAHA_AVR.pm    26846 2022-12-12 20:58:51Z Beta-User

AttrTemplate.pm     27145 2023-01-29 11:48:19Z rudolfkoenig
Blocking.pm         23268 2020-12-01 11:48:48Z rudolfkoenig
Color.pm            20813 2019-12-22 18:42:10Z justme1968
DevIo.pm            27247 2023-02-18 21:22:32Z rudolfkoenig
GPUtils.pm          19666 2019-06-20 11:17:29Z CoolTux
HMCCUConf.pm        26565 2022-10-20 12:24:12Z zap
HMConfig.pm         25160 2021-10-30 17:38:52Z martinp876
No Id found for HMConfig_SenTHPL.pm
HttpUtils.pm        27406 2023-04-07 16:52:19Z rudolfkoenig
Meta.pm             26889 2022-12-23 15:04:11Z CoolTux
msgSchema.pm        26965 2023-01-05 06:32:17Z CoolTux
myUtilsTemplate.pm   7570 2015-01-14 18:31:44Z rudolfkoenig
RTypes.pm           10476 2016-01-12 21:03:33Z borisneubert
SetExtensions.pm    25286 2021-12-03 10:16:56Z rudolfkoenig
SubProcess.pm       14334 2017-05-20 23:11:06Z neubert
TcpServerUtils.pm   25866 2022-03-21 09:01:16Z rudolfkoenig

console.js                 26335 2022-08-18 16:02:03Z rudolfkoenig
doif.js                    24438 2021-05-14 18:08:18Z Ellert
fhemweb.js                 27117 2023-01-25 09:13:32Z rudolfkoenig
fhemweb_readingsGroup.js   15189 2017-10-03 17:53:27Z justme1968

Ich kann mir nicht vorstellen, dass ich der Einzige bin der dieses Verhalten beobachtet und möchte der Sache auf den Grund gehen.
Ich hoffe auf Eure Unterstützung.

Gruß
Daniel

WhyTea

Moin.
Es sind mal wieder ein paar Tage durch Land gegangen und FHEM sammelt fleißig weiter RAM.

Heute morgen belegte FHEM 3,1 GB RAM. Siehe 1_RAM_vor_HMCCU_stop.png
Ich habe HMCCU gestoppt. Was jedoch nicht ganz den erwarteten Effekt hatte. Siehe 2_RAM_HMCCU_stopped.png
Und HMCCU wieder gestartet. Siehe 3_RAM_HMCCU_restarted.png

Selbst wenn HMCCU gestoppt ist belegte FHEM noch 1,89 GB RAM. Das hat mich etwas überrascht.
Nachdem HMCCU wieder gestartet wurde wächst der RAM bedarf sofort wieder auf 2,05 GB RAM an. Dies ist allerdings nachvollziehbar da auch die drei RPC Dienste wieder laufen.

Dennoch hat ein reines neu starten von HMCCU nach nur 8 Tagen 1 GB RAM freigegeben.

Vergleichswerte von anderen Systemen würden mich sehr freuen. Denn natürlich schließe ich eine Fehlkonfiguration meinerseits nicht aus!

Danke und Gruß
Daniel

JoWiemann

Hallo,

ich habe auch HMCCU laufen und stelle nichts außergewöhnliches fest:

Date:    20.07.2023 13:25:06
CPU temperature:    59.1 °C
CPU model name:    ARMv7 Processor rev 4 (v7l)
BogoMIPS:    89.60
System up time:    27 days, 16 hours, 51 minutes
FHEM up time:    3 days, 02 hours, 17 minutes
Load average:    0.62 0.81 0.82
RAM:    Total: 922.34 MB, Used: 428.73 MB, 46.48 %, Free: 151.85 MB
swap:    Total: 100.00 MB, Used: 47.14 MB, 47.14 %, Free: 52.86 MB
:    Total: 253 MB, Used: 51 MB, 20 %, Available: 202 MB at /boot
:    Total: 14666 MB, Used: 7538 MB, 54 %, Available: 6500 MB at /
:    Total: 0 MB, Used: 0 MB, 0 %, Available: 0 MB at /media/usb1 (not available)

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

WhyTea

#7
Danke für die Info.

Wie gesagt ich schließe eine Fehlkonfiguration nicht aus aber ich habe ehrlich gesagt keine Ahnung wie ich den RAM-Fresser finden soll.  :-\

Es fing alles mitte März, als ich mit der Umstellung von CUL_HM auf HMCCU begonnen habe, an. Vorher lief meine FHEM-VM jahrelang mit nur 1GB RAM wovon nur 500MB belegt waren.

Ich bin für alle Ideen dankbar.

WhyTea

So ich mache diesen thread mal als gelöst zu.

Ja, wie schon erwähnt benötigt HMCCU  mehr RAM als CUL_HM.
Das ist Fakt und liegt daran das bis zu drei RPC-Server als Fork gestartet werden.
Dies benötigt natürlich zusätzlichen RAM.

Mein beschriebenen Verhalten das der RAM-Bedarf stetig steigt steht aber nicht im Zusammenhang mit HMCCU!

Die Ursache dafür habe ich noch nicht gefunden aber ich kann HMCCU definitiv ausschließen.

Vielen Dank für Eure Unterstützung!