FHEM Arbeitsspeicher nutzung

Begonnen von der-Lolo, 28 Oktober 2017, 10:08:38

Vorheriges Thema - Nächstes Thema

herrmannj

naja, 20h sind keine repräsentative Zeit.

Sieht aber nach Speicherleck aus. Lass mal länger laufen, wenn möglich keine plots abrufen (oder andere Aktionen welche intensiv Speicher brauchen).

Um der Frage zuvor zu kommen. Sollte der der plot auch über einen längeren Zeitraum so aussehen (Speicher leck) kannst Du selbst wenig machen. Beginne dann ein Modul nach dem anderen zu deaktivieren und wiederhole den Test um den "Übeltäter" (ein oder mehrere module) ausfindig zu machen.

der-Lolo

Ich hab leider keine genaue FHEM uptime - müsste aber so 72 Std gewesen sein, die steigung der Ram auslastung ist scheinbar konstant...
Ich schaue mal wie ich zumindest bis zum Zeitraum des kompletten logs zurück plotten kann.

Leider gehts um mein produktiv System, ich könnte einzelne Module vielleicht Stundenweise abschalten und schaen ob die steigung gleich bleibt...

chris1284

#17
Du kannst meine ich auf der Syno den Virtual Machine Manager installieren (auch wenn er evtl. noch nicht für die  DS716+II freigegeben ist kann man einfach das spk laden und installieren) und so dein Prod-Fhem theoretisch klonen und mal in der VM schauen wie es sich dort verhält (Module die evtl Hardware  exklusiv nutzen mal außen vor). Evtl. verhält es sich ja in einer VM mit einem debian schon anderst als mit dem dsm

der-Lolo

Wenn ich Dich richtig verstehe soll ich mal versuchen FHEM virtuell laufen zu lassen - für die Virtuelle umgebung könnte ich ja z.b. 4GB Ram fest vergeben...
Ja, wäre interessant zu wissen was passiert wenn kein Speicher mehr zur verfügung steht.
Würdest Du eher auf diesen Virtual Machine Manager setzen - oder auf Docker..?

der-Lolo

Eine VM für FHEM habe ich zwar nicht aufgesetzt, bin aber jetzt in der Lage den befehl fhemdebug memusage abzusetzen.
Meist habe ich den richtigen moment verpasst - oder es schlicht vergessen wenn fhem viel Arbeitspeicher benutzt...

Jetzt habe ich eine ausgabe von fhemdebug memusage
   1. defs                            1503475
   2. defs::UnifiController            588861
   3. modules                          332919
   4. defs::UnifiController::clients   225457
   5. defs::UnifiController::READINGS   194729
   6. defs::UnifiController::accespoints   146222
   7. FW_RET                           124623
   8. attr                             116581
   9. defs::HarmonyHub                  64839
  10. defs::DS716                       63343
  11. POSIX::                           60441
  12. defs::HarmonyHub::helper          51609
  13. defs::HarmonyHub::helper::PARTIAL    50768
  14. defs::UnifiController::accespoints::59e0af43e4b049f27ef569f5    44432
  15. defs::UnifiController::accespoints::59a2e0fe744eb4c6a4951705    44021
  16. defs::DS716::READINGS             41994
  17. B::                               36394
  18. defs::VEmodeSwitchOG              35095
  19. modules::ModbusCoil               34409
  20. modules::ModbusCoil::defptr       32608
  21. defs::WPmodeSwitch                30057
  22. Socket::                          26936
  23. defs::UnifiController::accespoints::59a2e0d1744eb4c6a4951703    26847
  24. defs::UnifiController::accespoints::59e0af43e4b049f27ef569f5::stat    20811
  25. defs::UnifiController::accespoints::59a2e0fe744eb4c6a4951705::stat    20649
  26. defs::UnifiController::accespoints::59a2b199744e2cbfda8ae0e8    19391
  27. defs::LueftungBadEG               18456
  28. defs::LueftungBadOG               18455
  29. defs::DS716::helper               18411
  30. defs::GAstateView                 17078
  31. defs::WM6YH891                    16785
  32. defs::WPstateView                 16647
  33. defs::VEmodeSwitchEG              15981
  34. defs::DS716::helper::cur_readings_map    15257
  35. defs::WM6YH891::READINGS          14107
  36. Fcntl::                           13689
  37. defs::HarmonyHub_DOIF_1           13139
  38. modules::ModbusRegister           13037
  39. Errno::                           12887
  40. defs::VEmodeSwitchOG::READINGS    12846
  41. INC                               12519
  42. defs::UnifiController::accespoints::59a2e0d1744eb4c6a4951703::stat    12057
  43. modules::ModbusRegister::defptr    11008
  44. defs::UnifiController::accespoints::5af9c583e4b00587d565974a    10852
  45. defs::WagoController              10115
  46. defs::WPmodeSwitch::READINGS       9844
  47. oldvalue                           9066
  48. defs::UnifiController::wlans       8916
  49. defs::UnifiController::clients::59ee0204e4b049f27ef5ae84     8851
  50. defs::mF_WMZ                       8496


Ich habe auch noch einen Screenshot von htop gemacht - nach 17 Tagen FHEM laufzeit habe ich also eine Arbeitsspeicher belegung von  Aktuell: 4210.61

Mir ist es auch schon passiert das ich fhem nicht mehr updaten konnte weil kein Speicherplatz mehr verfügbar war, bei wieviel Arbeitsspeicher belegung das der Fall ist habe ich aber nicht herausgefunden.

Vielleicht kann ja jemand mit diesen Informationen was anfangen.

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

der-Lolo

Ich nutze auf der Synology DiskStation ja ActivePerl für FHEM -
beim Fhem start bekomme ich im Log folgendes:
Server started with 113 defined entities (fhem.pl:16866/2018-06-14 perl:5.024002 os:linux user:fhem pid:10626)
Im von Damian verlinkten thread geht es doch um ein leak in 5.24, oder? upgrade oder downgrade sollte helfen ist hier die aussage.

Ich setze aber doch gar nicht 5.24 ein...
Komisch das ganze - ich schaue trotzdem mal ob ich das ActivePerl updaten kann.

en-trust

Ich versuch meine Frage mal hier zu platzieren. Ich habe mein Raspian mit Buster und Perl (v5.28.1) komplett neu aufgesetzt. Allerdings nach einigen Tagen läuft der RAM voll bzw. gibt ihn nicht frei.

apptime bracht mir... und ich vermute es liegt an den Kalendern. Hab mal gelesen dass average nicht größer als 1000  sein soll.
active-timers: 188; max-active timers: 201; max-timer-load: 19  min-tmrHandlingTm: 0.0ms; max-tmrHandlingTm: 10812.4ms; totAvgDly: 26.6ms

name                                     function                               max    count      total  average   maxDly   avgDly TS Max call     param Max call
tmr-GetUpdate                            update                               10811      779   44327.62    56.90 20915.26   164.23 11.11. 18:13:05 update:TankstelleJET
tmr-Calendar_PollChild                   HASH(0x4e80a80)                       3603        1    3603.30  3603.30     2.26     2.26 12.11. 03:39:46 HASH(Abfall_cal)
tmr-Calendar_PollChild                   HASH(0x4b7dde0)                       3396       14   45393.12  3242.37   852.29    97.08 12.11. 03:33:03 HASH(Abfallkalender)
tmr-CustomReadings_OnTimer               HASH(0x395b248)                       1593       14   14379.11  1027.08     2.26     1.26 12.11. 00:32:54 HASH(Update.Counter)
tmr-Calendar_PollChild                   HASH(0x4f23e98)                       1053        2    2072.10  1036.05     0.95     0.85 12.11. 04:33:00 HASH(Familienkalender)
Abfall_CalView                           ABFALL_Notify                          786        7    1275.24   182.18     0.00     0.00 12.11. 03:39:46 HASH(Abfall_CalView); HASH(Abfall_cal)


list
Internals:
   CFGFN      ./FHEM/fhem_calendar.cfg
   DEF        ical url https://calendar.google.com/calendar/ical/rpq47g2nprdtaagorftdvhkobo%40group.calendar.google.com/private-2925360a6e849ba519582f5e798d0854/basic.ics
   FUUID      5ccbe86d-f33f-e9d9-e19f-6927d47fa255a5ac
   NAME       Abfallkalender
   NOTIFYDEV  global
   NR         663
   NTFY_ORDER 50-Abfallkalender
   STATE      triggered
   TYPE       Calendar
   READINGS:
     2020-11-12 06:33:02   calname         Abfallkalender
     2020-11-12 06:33:02   lastUpdate      2020-11-12 06:32:58
     2019-01-02 22:30:48   modeAlarm       
     2020-11-12 00:00:00   modeAlarmOrStart GELB202023oberhausende
     2019-01-02 22:30:48   modeAlarmed     
     2020-11-12 00:33:02   modeChanged     
     2020-11-12 06:33:02   modeEnd         BIO202021oberhausende;BIO202010oberhausende;BIO20209oberhausende;HMRD202012oberhausende;HMRD202015oberhausende;BIO201926oberhausende;HMRD201924oberhausende;HMRD202020oberhausende;HMRD20207oberhausende;WEIHNACHTSBAUM20201oberhausende;BIO20201oberhausende;GELB20196oberhausende;HMRD20205oberhausende;GELB202014oberhausende;GELB202021oberhausende;BIO20205oberhausende;BIO202012oberhausende;BIO201923oberhausende;PAPIER20203oberhausende;GELB20202oberhausende;HMRD202016oberhausende;HMRD20204oberhausende;GELB20193oberhausende;BIO20206oberhausende;HMRD201921oberhausende;BIO20207oberhausende;HMRD202010oberhausende;HMRD20209oberhausende;GELB20195oberhausende;HMRD20206oberhausende;HMRD202022oberhausende;GELB202019oberhausende;BIO202022oberhausende;HMRD20208oberhausende;BIO201925oberhausende;GELB202011oberhausende;PAPIER20205oberhausende;PAPIER202010oberhausende;BIO20204oberhausende;HMRD20203oberhausende;HMRD201923oberhausende;GELB202017oberhausende;GELB20194oberhausende;BIO202011oberhausende;BIO202020oberhausende;BIO201924oberhausende;PAPIER202011oberhausende;GELB202013oberhausende;BIO20202oberhausende;GELB20201oberhausende;GELB202018oberhausende;PAPIER20207oberhausende;PAPIER20204oberhausende;BIO202016oberhausende;HMRD202011oberhausende;BIO202019oberhausende;PAPIER20209oberhausende;BIO202018oberhausende;PAPIER20202oberhausende;GELB20206oberhausende;GELB202010oberhausende;GELB20209oberhausende;GELB20208oberhausende;GELB202022oberhausende;HMRD202019oberhausende;BIO202013oberhausende;HMRD202013oberhausende;PAPIER201912oberhausende;BIO201922oberhausende;HMRD20201oberhausende;HMRD202018oberhausende;HMRD202017oberhausende;PAPIER20201oberhausende;GELB20203oberhausende;GELB20192oberhausende;HMRD201922oberhausende;GELB20207oberhausende;HMRD202014oberhausende;GELB20205oberhausende;BIO20208oberhausende;HMRD202021oberhausende;HMRD201925oberhausende;GELB202012oberhausende;BIO202017oberhausende;GELB202015oberhausende;PAPIER201913oberhausende;BIO202015oberhausende;PAPIER20206oberhausende;GELB202020oberhausende;HMRD20202oberhausende;BIO201921oberhausende;PAPIER201911oberhausende;GELB202016oberhausende;GELB20204oberhausende;PAPIER20208oberhausende;BIO20203oberhausende;GELB20191oberhausende;BIO202014oberhausende;HMRD201926oberhausende
     2020-11-03 00:35:36   modeEnded       
     2020-11-12 00:00:00   modeStart       GELB202023oberhausende
     2020-11-12 00:33:02   modeStarted     
     2020-11-12 06:33:02   modeUpcoming    PAPIER202012oberhausende;HMRD202025oberhausende;PAPIER202013oberhausende;GELB202024oberhausende;HMRD202026oberhausende;HMRD202024oberhausende;GELB202025oberhausende;BIO202024oberhausende;GELB202026oberhausende;BIO202025oberhausende;BIO202023oberhausende;BIO202026oberhausende;HMRD202023oberhausende
     2020-11-12 06:33:02   nextUpdate      2020-11-12 07:32:58
     2020-11-12 06:33:03   nextWakeup      2020-11-12 07:32:58
     2020-11-12 06:33:02   state           triggered
   helper:
     bm:
       Calendar_Get:
         cnt        546
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        11.11. 20:33:02
         max        0.0121660232543945
         tot        5.70522165298462
         mAr:
           HASH(Abfallkalender)
           -
           events
           format:custom="$S"
           filter:uid=="PAPIER202012oberhausende"
       Calendar_Notify:
         cnt        745
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        11.11. 21:20:36
         max        0.000165939331054688
         tot        0.0354771614074707
         mAr:
           HASH(Abfallkalender)
           HASH(global)
Attributes:
   DbLogExclude .*
   alias      Abfallkalender
   event-on-change-reading .*
   group      Abfallentsorgung
   hideLaterThan 14d
   hideOlderThan 1d
   room       Terminkalender