Cannot fork: Cannot allocate memory | BlockingInformParent

Begonnen von Burny4600, 14 Februar 2018, 10:33:06

Vorheriges Thema - Nächstes Thema

vbs

Also bei mir scheint das Problem gelöst. In den letzten 20 Stunden nur ca. 2MB dazu gekommen, was ich mal als normal verbuchen würde.

KölnSolar

#916
Ich hab freezemon im Einsatz u. empfehle es auch gern. Bei mir kann ich kein memory leak erkennen. sysmon berichtet nach 10 Tagen uptime 31% RAM usage. Ich beobachte mal den Verlauf.

Ich spekuliere auch in diese Richtung
ZitatD.h. es war nicht dieses oder jenes Modul sondern irgendwie die Kombination....
Grüße Markus

Edit: Nach weiteren 10 Tagen uptime und zwischenzeitlichem update/upgrade immer noch nur 30%.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

vuffiraa

Zitat von: vbs am 13 Oktober 2021, 21:19:26
Also bei mir scheint es an freezemon gelegen zu haben. Dessen state zu löschen behebt das Problem und das Device zu löschen hilft auch (logisch):
setstate sys_freezemon inactive
setstate sys_freezemon 2021-09-08 22:12:51 .fm_freezes
setstate sys_freezemon 2021-09-08 22:12:51 .lastDay
setstate sys_freezemon 2021-09-08 22:12:51 fcDay 0
setstate sys_freezemon 2021-09-08 22:12:51 fcDayLast 0
setstate sys_freezemon 2021-09-08 22:12:51 freezeDevice
setstate sys_freezemon 2021-09-08 22:12:51 freezeTime 0
setstate sys_freezemon 2021-09-08 22:12:51 ftDay 0
setstate sys_freezemon 2021-09-08 22:12:51 ftDayLast 0
setstate sys_freezemon 2021-09-08 22:11:58 perfmon not active
setstate sys_freezemon 2021-09-08 22:12:40 state inactive


Werde ich jetzt weiter beobachten.

Die Diskussion hier ist zwar schon etwas älter, aber das mir gerade geholfen.
Nach einem Neustart meiner Fhem-Instanz ist der Speicherverbrauch des Fhem-Prozesses nach kurzer Zeit durch die Decke gegangen.
Beim Neustart hat es eigentlich keine Änderungen in meiner Fhem-Konfiguration gegegben.

Ich habe Freezemon im Einsatz und hatte es kurz vor dem Neustart deaktiviert. In fhem.save standen ähnliche Dinge, wie bei dir.
Es hat geholfen Freezemon wieder zu aktivieren und alle Statistiken im Modul aufzuräumen. fhem.save musste ich nicht direkt ändern.

VG
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

sTaN

#918
Hallo Zusammen,

erstaunlich, dass sich dieser Thread so lange hält.  ;D
Ich habe gestern seit langer Zeit mal wieder sysmon aktiviert und weiß nun auch wieder, warum ich bei dem device das Attribut disable = 1 hatte.
Denn seitdem tritt wieder der Fehler Cannot fork: Cannot allocate memory auf.

Im Logfile sieht es dann wie folgt aus:

2023.01.05 13:50:25 1: Cannot fork: Cannot allocate memory
2023.01.05 13:50:25 1: Cannot fork: Cannot allocate memory
2023.01.05 13:48:18 2: harmonyhub: disconnect
2023.01.05 13:48:18 1: Cannot fork: Cannot allocate memory
2023.01.05 13:48:18 1: Cannot fork: Cannot allocate memory
2023.01.05 13:47:40 2: hueBridge1: http request failed: http://192.168.1XX.XXX/api/XXXXXXXXXXXXXXXXXXXXXXXXXXXX/sensors/10: empty answer received
2023.01.05 13:47:39 2: hueBridge1: http request failed: read from http://192.168.1XX.XXX:80 timed out
2023.01.05 13:47:39 2: hueBridge1: http request failed: read from http://192.168.1XX.XXX:80 timed out
2023.01.05 13:47:39 2: hueBridge1: http request failed: read from http://192.168.1XX.XXX:80 timed out
2023.01.05 13:47:14 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/42_SYSMON.pm line 2911.
2023.01.05 13:47:00 1: Cannot fork: Cannot allocate memory
2023.01.05 13:47:00 1: Cannot fork: Cannot allocate memory
2023.01.05 13:47:00 1: Cannot fork: Cannot allocate memory
2023.01.05 13:47:00 1: Cannot fork: Cannot allocate memory
2023.01.05 13:46:57 1: Cannot fork: Cannot allocate memory
2023.01.05 13:46:57 1: Cannot fork: Cannot allocate memory
2023.01.05 13:46:12 1: Cannot fork: Cannot allocate memory
2023.01.05 13:46:10 1: Cannot fork: Cannot allocate memory
2023.01.05 13:46:10 1: Cannot fork: Cannot allocate memory
2023.01.05 13:45:58 1: PERL WARNING: Use of uninitialized value $free_version in numeric gt (>) at ./FHEM/42_SYSMON.pm line 2313.
2023.01.05 13:45:58 1: PERL WARNING: Use of uninitialized value $free_version in substitution (s///) at ./FHEM/42_SYSMON.pm line 2312.
2023.01.05 13:45:58 1: PERL WARNING: Use of uninitialized value $entry in index at ./FHEM/42_SYSMON.pm line 2225.
2023.01.05 13:45:58 1: PERL WARNING: Use of uninitialized value $val in int at ./FHEM/42_SYSMON.pm line 1804.
2023.01.05 13:45:58 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/42_SYSMON.pm line 1657.
2023.01.05 13:45:58 1: PERL WARNING: Use of uninitialized value $string in substitution (s///) at ./FHEM/99_Utils.pm line 130.
2023.01.05 13:45:58 1: PERL WARNING: Use of uninitialized value $string in substitution (s///) at ./FHEM/99_Utils.pm line 129.
2023.01.05 13:37:24 1: Cannot fork: Cannot allocate memory
2023.01.05 13:37:20 1: Cannot fork: Cannot allocate memory
2023.01.05 13:37:20 1: Cannot fork: Cannot allocate memory
2023.01.05 13:36:08 1: Cannot fork: Cannot allocate memory
2023.01.05 13:36:08 1: Cannot fork: Cannot allocate memory
2023.01.05 13:36:07 1: Cannot fork: Cannot allocate memory
2023.01.05 13:35:57 1: Cannot fork: Cannot allocate memory
2023.01.05 13:35:57 1: Cannot fork: Cannot allocate memory
2023.01.05 13:35:57 1: Cannot fork: Cannot allocate memory
2023.01.05 13:35:57 1: Cannot fork: Cannot allocate memory
2023.01.05 13:35:57 1: Cannot fork: Cannot allocate memory
2023.01.05 13:35:57 1: Cannot fork: Cannot allocate memory
2023.01.05 13:35:37 1: Cannot fork: Cannot allocate memory
2023.01.05 13:35:35 1: Cannot fork: Cannot allocate memory
2023.01.05 13:35:34 1: Cannot fork: Cannot allocate memory
2023.01.05 13:31:54 1: Cannot fork: Cannot allocate memory
2023.01.05 13:31:54 1: Cannot fork: Cannot allocate memory


Mein sysmon device sieht wie folgt aus:

Internals:
   DEF        1 1 1 10
   FUUID      5fc19a07-f33f-1bd5-70bc-bf235043772ac0b5
   INTERVAL_BASE 60
   INTERVAL_MULTIPLIERS 1 1 1 10
   MODE       local
   NAME       sysmon
   NOTIFYDEV  global,TYPE=SYSMON
   NR         693
   NTFY_ORDER 50-sysmon
   STATE      Inactive
   TYPE       SYSMON
   eventCount 845
   READINGS:
     2023-01-05 13:51:25   cpu0_freq       600
     2023-01-05 13:51:25   cpu0_freq_stat  600.00 1200.00 890.28
     2023-01-05 13:51:26   cpu0_idle_stat  0.00 99.90 69.02
     2023-01-05 13:51:25   cpu1_freq       600
     2023-01-05 13:51:25   cpu1_freq_stat  600.00 1200.00 890.28
     2023-01-05 13:51:26   cpu1_idle_stat  0.00 99.95 72.22
     2023-01-05 13:51:25   cpu2_freq       600
     2023-01-05 13:51:25   cpu2_freq_stat  600.00 1200.00 890.28
     2023-01-05 13:51:26   cpu2_idle_stat  0.00 100.00 71.98
     2023-01-05 13:51:25   cpu3_freq       600
     2023-01-05 13:51:25   cpu3_freq_stat  600.00 1200.00 890.28
     2023-01-05 13:51:26   cpu3_idle_stat  14.78 99.97 72.89
     2023-01-04 23:46:04   cpu_bogomips    76.80
     2023-01-05 13:51:26   cpu_core_count  4
     2023-01-05 13:51:25   cpu_freq        600
     2023-01-05 13:51:25   cpu_freq_stat   600.00 1200.00 890.28
     2023-01-05 13:51:26   cpu_idle_stat   14.47 98.34 71.55
     2023-01-04 23:46:04   cpu_model_name  ARMv7 Processor rev 4 (v7l)
     2023-01-05 13:51:26   cpu_temp        58.53
     2023-01-05 13:51:26   cpu_temp_avg    52.9
     2023-01-05 13:51:26   cpu_temp_stat   0.00 68.76 52.88
     2023-01-05 13:51:26   eth0            RX: 48989.46 MB, TX: 65126.04 MB, Total: 114115.5 MB
     2023-01-05 13:51:26   eth0_diff       RX: 1.06 MB, TX: 0.67 MB, Total: 1.73 MB
     2023-01-05 13:51:26   eth0_ip         192.168.188.155
     2023-01-05 13:51:26   eth0_rx         51369170153
     2023-01-05 13:51:26   eth0_speed      100
     2023-01-05 13:51:26   eth0_tx         68289602565
     2023-01-05 13:51:26   fhemstarttime   1672872289
     2023-01-05 13:51:26   fhemstarttime_text 04.01.2023 23:44:49
     2023-01-05 13:51:26   fhemuptime      50797
     2023-01-05 13:51:26   fhemuptime_text 0 days, 14 hours, 06 minutes
     2023-01-05 13:40:58   fs_boot         Total: 41 MB, Used: 23 MB, 55 %, Available: 19 MB at /boot
     2023-01-05 13:40:58   fs_root         Total: 14885 MB, Used: 3958 MB, 28 %, Available: 10291 MB at /
     2023-01-05 13:40:58   fs_usb1         Total: 0 MB, Used: 0 MB, 0 %, Available: 0 MB at /media/usb1 (not available)
     2023-01-05 13:51:26   idletime        1140112 95.54 %
     2023-01-05 13:51:26   idletime_text   13 days, 04 hours, 41 minutes (95.54 %)
     2023-01-05 13:51:26   loadavg         3.19 4.13 2.46
     2023-01-04 23:46:04   perl_version    v5.24.1
     2023-01-05 13:51:26   ram             Total: 926.08 MB, Used: 455.68 MB, 49.21 %, Free: 411.52 MB
     2023-01-05 13:51:26   ram_used_stat   116.83 757.85 489.72
     2023-01-05 13:51:26   starttime       1671729811
     2023-01-05 13:51:26   starttime_text  22.12.2022 18:23:31
     2023-01-05 13:51:26   stat_cpu        8180878 343594 2703200 456044893 1503178 0 285918
     2023-01-05 13:51:26   stat_cpu0       2679976 83400 898775 107441018 446813 0 282711
     2023-01-05 13:51:26   stat_cpu0_diff  580 515 578 8984 1420 0 45
     2023-01-05 13:51:26   stat_cpu0_percent 4.78 4.25 4.77 74.11 11.71 0.00 0.37
     2023-01-05 13:51:26   stat_cpu0_text  user: 4.78 %, nice: 4.25 %, sys: 4.77 %, idle: 74.11 %, io: 11.71 %, irq: 0.00 %, sirq: 0.37 %
     2023-01-05 13:51:26   stat_cpu1       1826802 90187 601958 116243502 344809 0 1042
     2023-01-05 13:51:26   stat_cpu1_diff  126 857 572 9709 1404 0 0
     2023-01-05 13:51:26   stat_cpu1_percent 0.99 6.77 4.52 76.64 11.08 0.00 0.00
     2023-01-05 13:51:26   stat_cpu1_text  user: 0.99 %, nice: 6.77 %, sys: 4.52 %, idle: 76.64 %, io: 11.08 %, irq: 0.00 %, sirq: 0.00 %
     2023-01-05 13:51:26   stat_cpu2       1926000 87005 633616 116003859 355480 0 1160
     2023-01-05 13:51:26   stat_cpu2_diff  86 610 500 9979 1515 0 0
     2023-01-05 13:51:26   stat_cpu2_percent 0.68 4.81 3.94 78.64 11.94 0.00 0.00
     2023-01-05 13:51:26   stat_cpu2_text  user: 0.68 %, nice: 4.81 %, sys: 3.94 %, idle: 78.64 %, io: 11.94 %, irq: 0.00 %, sirq: 0.00 %
     2023-01-05 13:51:26   stat_cpu3       1748100 83002 568851 116356512 356074 0 1005
     2023-01-05 13:51:26   stat_cpu3_diff  569 848 545 9571 1183 0 2
     2023-01-05 13:51:26   stat_cpu3_percent 4.47 6.67 4.29 75.26 9.30 0.00 0.02
     2023-01-05 13:51:26   stat_cpu3_text  user: 4.47 %, nice: 6.67 %, sys: 4.29 %, idle: 75.26 %, io: 9.30 %, irq: 0.00 %, sirq: 0.02 %
     2023-01-05 13:51:26   stat_cpu_diff   1361 2830 2195 38244 5522 0 47
     2023-01-05 13:51:26   stat_cpu_percent 2.71 5.64 4.37 76.18 11.00 0.00 0.09
     2023-01-05 13:51:26   stat_cpu_text   user: 2.71 %, nice: 5.64 %, sys: 4.37 %, idle: 76.18 %, io: 11.00 %, irq: 0.00 %, sirq: 0.09 %
     2023-01-05 13:51:26   swap            Total: 100.00 MB, Used: 99.99 MB,  99.99 %, Free: 0.01 MB
     2023-01-05 13:51:26   swap_used_stat  40.19 100.00 99.98
     2023-01-05 13:51:26   uptime          1193274
     2023-01-05 13:51:26   uptime_text     13 days, 19 hours, 27 minutes
     2023-01-05 13:51:26   wlan0           RX: 0.00 MB, TX: 0.00 MB, Total: 0 MB
     2023-01-05 13:51:26   wlan0_diff      RX: 0.00 MB, TX: 0.00 MB, Total: 0.00 MB
     2023-01-05 13:51:26   wlan0_rx        0
     2023-01-05 13:51:26   wlan0_tx        0
   helper:
     net_eth0_stat_class 1
     net_wlan0_stat_class 1
     proc_fs    1
     sys_cpu0_freq 1
     sys_cpu0_temp 0
     sys_cpu1_freq 1
     sys_cpu1_temp 0
     sys_cpu2_freq 1
     sys_cpu2_temp 0
     sys_cpu3_freq 1
     sys_cpu3_temp 0
     sys_cpu4_freq 0
     sys_cpu4_temp 0
     sys_cpu5_freq 0
     sys_cpu5_temp 0
     sys_cpu6_freq 0
     sys_cpu6_temp 0
     sys_cpu7_freq 0
     sys_cpu7_temp 0
     sys_cpu_core_num 4
     sys_cpu_freq_rpi_bbb 1
     sys_cpu_num 1
     sys_cpu_temp_bbb 0
     sys_cpu_temp_rpi 1
     sys_fb     0
     sys_power_ac 0
     sys_power_bat 0
     sys_power_usb 0
     u_first_mark 1
     cur_readings_map:
       cpu0_freq  CPU frequency (core 0)
       cpu0_freq_stat CPU frequency (core 0) stat
       cpu0_idle_stat CPU0 min/max/avg (idle)
       cpu1_freq  CPU frequency (core 1)
       cpu1_freq_stat CPU frequency (core 1) stat
       cpu1_idle_stat CPU1 min/max/avg (idle)
       cpu2_freq  CPU frequency (core 2)
       cpu2_freq_stat CPU frequency (core 2) stat
       cpu2_idle_stat CPU2 min/max/avg (idle)
       cpu3_freq  CPU frequency (core 3)
       cpu3_freq_stat CPU frequency (core 3) stat
       cpu3_idle_stat CPU3 min/max/avg (idle)
       cpu4_idle_stat CPU4 min/max/avg (idle)
       cpu5_idle_stat CPU5 min/max/avg (idle)
       cpu6_idle_stat CPU6 min/max/avg (idle)
       cpu7_idle_stat CPU7 min/max/avg (idle)
       cpu_bogomips BogoMIPS
       cpu_core_count Number of CPU cores
       cpu_freq   CPU frequency
       cpu_freq_stat CPU frequency stat
       cpu_idle_stat CPU min/max/avg (idle)
       cpu_model_name CPU model name
       cpu_temp   CPU temperature
       cpu_temp_avg Average CPU temperature
       cpu_temp_stat CPU temperature stat
       date       Date
       eth0       Network adapter eth0
       eth0_diff  Network adapter eth0 (diff)
       eth0_ip    Network adapter eth0 (IP)
       eth0_ip6   Network adapter eth0 (IP6)
       eth0_rx    Network adapter eth0 (RX)
       eth0_speed Network adapter eth0 (speed)
       eth0_tx    Network adapter eth0 (TX)
       fhemstarttime Fhem start time
       fhemstarttime_text Fhem start time
       fhemuptime System up time
       fhemuptime_text FHEM up time
       fs_boot    Filesystem /boot
       fs_boot_free Filesystem /boot (free)
       fs_boot_used Filesystem /boot (used)
       fs_boot_used_percent Filesystem /boot (used %)
       fs_root    Root
       fs_root_free Root (free)
       fs_root_used Root (used)
       fs_root_used_percent Root (used %)
       fs_usb1    USB-Stick
       fs_usb1_free USB-Stick (free)
       fs_usb1_used USB-Stick (used)
       fs_usb1_used_percent USB-Stick (used %)
       idletime   Idle time
       idletime_text Idle time
       io_sda     TEST
       io_sda_diff TEST
       io_sda_raw TEST
       loadavg    Load average
       loadavg_1  Load average 1
       loadavg_15 Load average 15
       loadavg_5  Load average 5
       perl_version Perl Version
       ram        RAM
       ram_free   RAM free
       ram_free_percent RAM free %
       ram_total  RAM total
       ram_used   RAM used
       ram_used_stat RAM used stat
       starttime  System start time
       starttime_text System start time
       stat_cpu   CPU statistics
       stat_cpu0  CPU0 statistics
       stat_cpu0_diff CPU0 statistics (diff)
       stat_cpu0_percent CPU0 statistics (diff, percent)
       stat_cpu0_text CPU0 statistics (text)
       stat_cpu1  CPU1 statistics
       stat_cpu1_diff CPU1 statistics (diff)
       stat_cpu1_percent CPU1 statistics (diff, percent)
       stat_cpu1_text CPU1 statistics (text)
       stat_cpu2  CPU2 statistics
       stat_cpu2_diff CPU2 statistics (diff)
       stat_cpu2_percent CPU2 statistics (diff, percent)
       stat_cpu2_text CPU2 statistics (text)
       stat_cpu3  CPU3 statistics
       stat_cpu3_diff CPU3 statistics (diff)
       stat_cpu3_percent CPU3 statistics (diff, percent)
       stat_cpu3_text CPU3 statistics (text)
       stat_cpu4  CPU4 statistics
       stat_cpu4_diff CPU4 statistics (diff)
       stat_cpu4_percent CPU4 statistics (diff, percent)
       stat_cpu4_text CPU4 statistics (text)
       stat_cpu5  CPU5 statistics
       stat_cpu5_diff CPU5 statistics (diff)
       stat_cpu5_percent CPU5 statistics (diff, percent)
       stat_cpu5_text CPU5 statistics (text)
       stat_cpu6  CPU6 statistics
       stat_cpu6_diff CPU6 statistics (diff)
       stat_cpu6_percent CPU6 statistics (diff, percent)
       stat_cpu6_text CPU6 statistics (text)
       stat_cpu7  CPU7 statistics
       stat_cpu7_diff CPU7 statistics (diff)
       stat_cpu7_percent CPU7 statistics (diff, percent)
       stat_cpu7_text CPU7 statistics (text)
       stat_cpu_diff CPU statistics (diff)
       stat_cpu_idle_percent CPU statistics idle %
       stat_cpu_io_percent CPU statistics io %
       stat_cpu_irq_percent CPU statistics irq %
       stat_cpu_nice_percent CPU statistics nice %
       stat_cpu_percent CPU statistics (diff, percent)
       stat_cpu_sirq_percent CPU statistics sirq %
       stat_cpu_sys_percent CPU statistics sys %
       stat_cpu_text CPU statistics (text)
       stat_cpu_user_percent CPU statistics user %
       swap       swap
       swap_free  swap free
       swap_total swap total
       swap_used  swap used
       swap_used_percent swap used %
       swap_used_stat swap used stat
       uptime     System up time
       uptime_text System up time
       wlan0      Network adapter wlan0
       wlan0_diff Network adapter wlan0 (diff)
       wlan0_ip   Network adapter wlan0 (IP)
       wlan0_ip6  Network adapter wlan0 (IP6)
       wlan0_rx   Network adapter wlan0 (RX)
       wlan0_speed Network adapter wlan0 (speed)
       wlan0_tx   Network adapter wlan0 (TX)
     excludes:
     shadow_map:
       cpu0_idle_stat 0.00 99.90 76.07
       cpu1_idle_stat 0.00 99.95 78.07
       cpu2_idle_stat 0.00 100.00 78.03
       cpu3_idle_stat 14.78 99.97 79.44
       cpu_core_count 4
       cpu_idle_stat 14.47 98.34 77.92
       cpu_temp   55.31
       cpu_temp_avg 53.5
       cpu_temp_stat 0.00 68.76 53.49
       eth0       RX: 48992.33 MB, TX: 65126.78 MB, Total: 114119.11 MB
       eth0_diff  RX: 2.87 MB, TX: 0.74 MB, Total: 3.61 MB
       eth0_ip    192.168.188.155
       eth0_rx    51372181310
       eth0_speed 100
       eth0_tx    68290380092
       fhemstarttime 1672872289
       fhemstarttime_text 04.01.2023 23:44:49
       fhemuptime 51158
       fhemuptime_text 0 days, 14 hours, 12 minutes
       fs_boot    Total: 41 MB, Used: 23 MB, 55 %, Available: 19 MB at /boot
       fs_root    Total: 14885 MB, Used: 3959 MB, 28 %, Available: 10290 MB at /
       fs_usb1    Total: 0 MB, Used: 0 MB, 0 %, Available: 0 MB at /media/usb1 (not available)
       idletime   1140457 95.54 %
       idletime_text 13 days, 04 hours, 47 minutes (95.54 %)
       loadavg    0.30 1.38 1.73
       ram        Total: 926.08 MB, Used: 408.68 MB, 44.13 %, Free: 436.55 MB
       ram_used_stat 116.83 757.85 469.46
       starttime  1671729811
       starttime_text 22.12.2022 18:23:31
       stat_cpu   8184052 343594 2703831 456183063 1503556 0 285959
       stat_cpu0  2680493 83400 898965 107474138 447007 0 282751
       stat_cpu0_diff 517 0 190 33120 194 0 40
       stat_cpu0_percent 1.52 0.00 0.56 97.24 0.57 0.00 0.12
       stat_cpu0_text user: 1.52 %, nice: 0.00 %, sys: 0.56 %, idle: 97.24 %, io: 0.57 %, irq: 0.00 %, sirq: 0.12 %
       stat_cpu1  1828186 90187 602131 116277998 344839 0 1042
       stat_cpu1_diff 1384 0 173 34496 30 0 0
       stat_cpu1_percent 3.84 0.00 0.48 95.60 0.08 0.00 0.00
       stat_cpu1_text user: 3.84 %, nice: 0.00 %, sys: 0.48 %, idle: 95.60 %, io: 0.08 %, irq: 0.00 %, sirq: 0.00 %
       stat_cpu2  1927073 87005 633778 116038588 355617 0 1161
       stat_cpu2_diff 1073 0 162 34729 137 0 1
       stat_cpu2_percent 2.97 0.00 0.45 96.20 0.38 0.00 0.00
       stat_cpu2_text user: 2.97 %, nice: 0.00 %, sys: 0.45 %, idle: 96.20 %, io: 0.38 %, irq: 0.00 %, sirq: 0.00 %
       stat_cpu3  1748300 83002 568957 116392338 356091 0 1005
       stat_cpu3_diff 200 0 106 35826 17 0 0
       stat_cpu3_percent 0.55 0.00 0.29 99.11 0.05 0.00 0.00
       stat_cpu3_text user: 0.55 %, nice: 0.00 %, sys: 0.29 %, idle: 99.11 %, io: 0.05 %, irq: 0.00 %, sirq: 0.00 %
       stat_cpu_diff 3174 0 631 138170 378 0 41
       stat_cpu_percent 2.23 0.00 0.44 97.03 0.27 0.00 0.03
       stat_cpu_text user: 2.23 %, nice: 0.00 %, sys: 0.44 %, idle: 97.03 %, io: 0.27 %, irq: 0.00 %, sirq: 0.03 %
       swap       Total: 100.00 MB, Used: 99.99 MB,  99.99 %, Free: 0.01 MB
       swap_used_stat 40.19 100.00 99.98
       uptime     1193636
       uptime_text 13 days, 19 hours, 33 minutes
       wlan0      RX: 0.00 MB, TX: 0.00 MB, Total: 0 MB
       wlan0_diff RX: 0.00 MB, TX: 0.00 MB, Total: 0.00 MB
       wlan0_rx   0
       wlan0_tx   0
Attributes:
   disable    1
   event-on-update-reading cpu_temp,cpu_temp_avg,ram,loadavg
   filesystems fs_boot:/boot,fs_root:/:Root,fs_usb1:/media/usb1:USB-Stick
   group      RPi
   room       Zentral


Ich verwende auch nur zwei Plots:

Internals:
   DEF        FileLog_sysmon:SM_RAM:CURRENT
   FUUID      63b5f0ef-f33f-1bd5-5104-06e6f785390d50f6
   GPLOTFILE  SM_RAM
   LOGDEVICE  FileLog_sysmon
   LOGFILE    CURRENT
   NAME       wl_sysmon_ram
   NR         773
   STATE      initialized
   TYPE       SVG
Attributes:
   group      RPi
   label      "RAM-Nutzung Total: $data{max1}, Min: $data{min2}, Max: $data{max2}, Aktuell: $data{currval2}"
   room       Zentral


Internals:
   DEF        FileLog_sysmon:SM_CPUTemp:CURRENT
   FUUID      63b5f087-f33f-1bd5-298a-eccbac96a0f1a88f
   GPLOTFILE  SM_CPUTemp
   LOGDEVICE  FileLog_sysmon
   LOGFILE    CURRENT
   NAME       wl_sysmon_temp
   NR         772
   STATE      initialized
   TYPE       SVG
Attributes:
   group      RPi
   label      "CPU Temperatur: Min $data{min2}, Max $data{max2}, Last $data{currval2}"
   room       Zentral


Wäre das eine Baustelle für den Modulauthor?

Gruß
sTaN
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

Wernieman

Die Frage währe, wie sieht der Speicher vor und nach der Aktivierung aus ...

z.B. wenn ein Glas fast voll mit Wasser und der nächste Tropfen bring das Glas zum Überlauf ..  ist der Tropfen Schuld oder der Vorherige Inhalt des Glases?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

sTaN

#920
Zitat von: Wernieman am 05 Januar 2023, 14:21:34
Die Frage währe, wie sieht der Speicher vor und nach der Aktivierung aus ...

z.B. wenn ein Glas fast voll mit Wasser und der nächste Tropfen bring das Glas zum Überlauf ..  ist der Tropfen Schuld oder der Vorherige Inhalt des Glases?

Der Speicherverbauch dümpelt vor der Aktivierung immer um die 45-47% herum. Nach Aktivierung nimmt man eine leichte Steigerung war. Derzeit bei 48% nach ca. 30-45 Minuten.
Was man beobachten kann, ist dass MemFree kontinuierlich sinkt und Inactive steigt. Hab mal über SimplePi auf meinem iPhone ein kurzes Video gemacht und ein Bild (vor dem Start mit ca. 15 Minuten Verzug) angehängt. Wenn das überhaupt nach so kurzer Zeit aussagekräftig ist?!

EDIT: Ich glaube das ist es nicht und sieht unauffällig aus, nach knapp einer Stunde ist MemFree wieder bei 445MB und die Auslastung bei 46%...

Ich dachte eher die Fehler im Logfile könnten eine mögliche Ursache des Moduls sein:

2023.01.05 13:45:58 1: PERL WARNING: Use of uninitialized value $free_version in numeric gt (>) at ./FHEM/42_SYSMON.pm line 2313.
2023.01.05 13:45:58 1: PERL WARNING: Use of uninitialized value $free_version in substitution (s///) at ./FHEM/42_SYSMON.pm line 2312.
2023.01.05 13:45:58 1: PERL WARNING: Use of uninitialized value $entry in index at ./FHEM/42_SYSMON.pm line 2225.
2023.01.05 13:45:58 1: PERL WARNING: Use of uninitialized value $val in int at ./FHEM/42_SYSMON.pm line 1804.
2023.01.05 13:45:58 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/42_SYSMON.pm line 1657.
2023.01.05 13:45:58 1: PERL WARNING: Use of uninitialized value $string in substitution (s///) at ./FHEM/99_Utils.pm line 130.
2023.01.05 13:45:58 1: PERL WARNING: Use of uninitialized value $string in substitution (s///) at ./FHEM/99_Utils.pm line 129.


Nach dem enablen habe ich auch folgenden Fehler im Logfile:
PERL WARNING: Use of uninitialized value $val in int at ./FHEM/42_SYSMON.pm line 1804.

Gruß
sTaN
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

Tom S

Hallo,
ich hatte ebenfalls SYSMON aktiviert und Probleme mit einem stetig zunehmenden Verlust an RAM-Speicher. Auch Meldungen im Log wie zuletzt sTaN sie beschrieben hatte.
Das ging soweit, dass FHEM sich alle paar Tage aufhängte.

Nach disable = 1 ist das Speicherleck verschwunden und auch die merkwürdigen Meldungen im Log.

Merkwürdig: der Filelog, mit dem ich zuvor SYSMON-RAM und —TEMP sowie den wlan0-Datenverkehr geloggt habe wird trotzdem weiter im gleichen Intervall beschrieben wie zuvor, so als ob trotz "disable" da noch etwas abläuft.
Kann mir dazu jemand eine Erklärung geben?

Danke vorab!
Tom S

3 x Pi 3B mit FHEM, CUL868/Selbstbau, USB Cam, IPCAM, SolarView PV-Überwachung, I2C, 1-wire

bismosa

Hallo!

Heute Morgen wurde mein FHEM auch aufgrund eines Speichermangels auf meinem Raspberry gekillt. Nach 28 Tagen Laufzeit.
Da die letzten Logeinträge diese sind:
2023.05.28 06:43:14 1: BlockingInformParent (BlockingStart): Can't connect to 127.0.0.1:7072: IO::Socket::INET: connect: Connection refused
2023.05.28 06:43:15 1: BlockingInformParent (BlockingStart): Can't connect to 127.0.0.1:7072: IO::Socket::INET: connect: Connection refused
2023.05.28 06:43:15 1: BlockingInformParent (RPI_1Wire_FinishFn): Can't connect to 127.0.0.1:7072: IO::Socket::INET: connect: Connection refused
2023.05.28 06:43:15 1: BlockingInformParent (RPI_1Wire_FinishFn): Can't connect to 127.0.0.1:7072: IO::Socket::INET: connect: Connection refused
gehe ich davon aus, das dies beim fork passiert sein müsste. Evtl. waren es zu viele gleichzeitig. Wobei ich blockingCallMax auf 3 gesetzt habe.
Generell liege ich aktuell bei ca. 19% Speicherauslastung von FHEM. Also 185MB Reservierten Speicher. Sollte nicht allzu viel sein.
Da muss ich jetzt mal beobachten, ob es einen Speicheranstieg gibt.

Ich habe jetzt hier von analyzeObject gelesen. Scheint mir eine interessante Funktion zu sein, den Speicherbedarf der Module anzeigen zu lassen? Leider finde ich darüber keine weiteren Infos wäre aber sehr interessiert  :) Vielleicht komme ich dann dahinter, wer den meisten Speicher verbraucht...und was ich optimieren kann.
Kann mir jemand weitere Infos dazu geben?
Oder gibt es noch eine andere tolle Möglichkeit den Speicherbedarf zu analysieren?

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

DS_Starter

Hallo bismosa,

das Modul 98_Analyze.pm kannst du dir aus meinem contrib (Fußtext) downloaden.
Definition einfach mit

 define analyzeData Analyze

Möglicherweise musst du noch Perl Module nachinstallieren.

Dann führst du ein "set analyzeData deviceType <deine Auswahl>" aus und bekommst eine Analyseseite mit den Ergebnsissen. Die ist evtl. sehr unübersichtlich. Beim Schritt mit dem Browser zurück findest du in den Readings die 5 größten Objekte/Hashes sortiert angezeigt.

z.B.
   READINGS:
     2023-06-03 08:04:51   1_largestObject 73151, $defs{Report}
     2023-06-03 08:04:51   2_largestObject 66305, $defs{Report}{READINGS}
     2023-06-03 08:04:51   3_largestObject 26474, $defs{Rep.Show.DbSize}
     2023-06-03 08:04:51   4_largestObject 17197, $defs{Rep.Bezug.Monat.Januar}
     2023-06-03 08:04:51   5_largestObject 13891, $defs{Rep.Show.DbSize}{READINGS}
     2023-06-03 08:04:51   state           done

Was dich interessiert (z.B. $defs{Report} als größtes Objekt) kopierst du und führst damit ein

  set ... xHashDetail $defs{Report}

aus. Dann bekommt man wieder die Ergebnisseite mit Deteilinfomationen. In den Reading hat man dann evtl. weitere Hashes in die man hineingehen kann.

Mit mainHash kann man die Standardhashes wie $attr analysieren. $data wird auch häufig vergessen, läuft etwas unter dem Radar.
Mit dem Attr largeObjectNum kannst du steuern wieviel größte Objekte du dir in den Readings anzeigen lassen willst.

Das Ganze ist etwas experimentell, FHEM kann also auch mal abstürzen. Also bisschen Vorsicht.
set .. allDevices kann u.U. FHEM in die Knie zwingen.
Vielleicht hast du Lust das Modul weiterzuentwickeln, kann ja wirklich hilfreich sein.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

bismosa

Moin Heiko,

danke für die Erklärung!
Ich finde das ist ein spannendes Modul und bei der Suche nach Resourcenverschwendern echt hilfreich.

Ich habe bei mir die Squeezebox Player schon länger im Verdacht...da habe ich das mal als erstes ausprobiert:
1_largestObject 1125421, $defs{SB_2}
2_largestObject 1124857, $defs{SB_1}
3_largestObject 1124530, $defs{SB_PLAYER_00042022916d}
4_largestObject 1123967, $defs{SB_3}
5_largestObject 1122418, $defs{SB_4}

Über 1MB pro Gerät. Bei 19 Devices (leider werden die gelegentlich unter einer neuen ID neu angelegt) sind das vermutlich 10% der Speicherauslastung von FHEM  :o

Danke auch für den Hinweis der Abstürze. Ein "get allDevices" lässt mein FHEM sofort neu starten. Dafür ist die Hardware vielleicht zu schwach.

Ich werde mal ein wenig weiter experimentieren.

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

bismosa

Hallo!

Zitat von: DS_Starter am 03 Juni 2023, 08:19:31Vielleicht hast du Lust das Modul weiterzuentwickeln, kann ja wirklich hilfreich sein.
challenge accepted  8)
Allerdings mehr oder weniger gescheitert.

Ich wollte das Modul ein wenig anders aufziehen. Gerade auch mit dem Hintergrund, das FHEM sehr gerne abstürzt, wenn man mit Devel::Size etwas einliest.
Alle meine Versuche haben hier aber keinen richtigen Erfolg gehabt. Ob nun über eval oder mit nonblocking...wenn dann bleibt es gerne richtig hängen.
Unter Windows funktioniert Devel::Size auch so gut wie nie und stürzt sehr gerne ab.

Entstanden ist ein erster Entwurf, den ich aber vermutlich auch nicht weiterentwickeln werde:
https://github.com/bismosa/FHEM/blob/master/FHEM/98_meminfo.pm

Was ich aber auch eingebaut habe, ist ein Summieren der Variablen-Inhalte (wenn UseDevelSize = 0 gesetzt ist). Das sollte meist proportional zum belegten Speicherplatz sein. Das könnte dann schon einige Hinweise liefern und funktioniert bei mir jetzt ganz ohne Abstürze.

Ein bisschen was kann das Modul aber schon:
DeviceInfo: Hash-Größe von einem Device
TypeInfo: Hash-Größe von allen Devices eines Typs
all: Alle Geräte
- Anzeigen der Variablen-Inhalte-Größe
- Anzeigen der Variablen-Größe (mit Devel::Size wenn aktiviert)
erzeugt in allen Fällen ein nach Größe sortiertes Reading

Dump-Device: Erzeugt ein reading (dump) mit dem hash-Inhalt eines gewählten Gerätes
RAM_Usage: Größe des aktuell verwendeten RAMs in ein Reading schreiben
pmap: Ausgabe des Befehls 'pmap $processID' in ein Reading (Kann auch interessante Hinweise geben!)

Gerne mal auf einem Testsystem ausprobieren! Aber Vorsicht...abstürze sind nicht selten.

Aber: Die Speicherbelegung durch die Geräte ist nur ein sehr kleiner Teil. Sicherlich kann man bei dem ein oder anderem Device (s.o.) ein paar MB sparen.
Deswegen gehe ich gerade einen ganz anderen Weg, der mir mit etwas mühe wesentlich bessere Ergebnisse bereits erbracht hat:
Ich lasse mit dem Modul über "get <device> WriteDEFtoFiles" alle Definitionen als Gerätegruppe in Textdateien schreiben.
Auf einem Testsystem (!!!) habe ich dann mit einer "leeren" Config gestartet und dann Gruppe für Gruppe über RAW-Definition die Geräte hinzugefügt.
Während dessen habe ich mir eine Excel-Tabelle erstellt und den Speicherbedarf (htop) protokolliert.
Da kam dann für mich raus, das z.B. FUIP und RSS (beide eigentlich gar nicht mehr in Verwendung) viel RAM benötigen.
Die Geräte habe ich dann in meinem Produktiv-System entfernt, FHEM neu gestartet und alleine dadurch 61MB weniger Speicherverbrauch. Von 222 auf 168MB runter. Das hilft bei 1GB RAM schon gewaltig.  8)
Zusätzlich gibt es noch optimierungen beim Kalender, SB_Player etc. Da werde ich bestimmt noch ein bisschen was finden.

Vermutlich hätte ich, wenn ich die Ausgabe mittels pmap protokolliert hätte, noch weitere Infos bekommen, warum der Speicherverbrauch bei einigen Modulen so sprunghaft ansteigt.

Weitere Optimierungen muss ich noch testen...aber es spielt wohl auch eine Rolle, welche Abhängigkeiten die einzelnen Geräte zu PERL Modulen ggf. haben. Z.B. hatte ich bei der Testdefinition vom "Installer" einen Sprung von 67MB. Nach entfernen aus meinem System war es nur 1MB.

Interessant wäre es, wenn man beim starten von FHEM nach jedem Device protokollieren könnte, wie viel Speicher in Verwendung ist. Aber soweit ich weiß, werden alle Geräte gleichzeitig definiert...

Aber das wichtigste...nicht mehr benötigte Geräte auch wirklich entfernen und FHEM gelegentlich aufräumen. Das spart am meisten Resourcen  ;)

Gruß
Bismosa

1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...