FHEM Absturz nach OOM-Killer...

Begonnen von wowogiengen, 23 Oktober 2017, 18:58:34

Vorheriges Thema - Nächstes Thema

wowogiengen

Hallo,
heute nachmittag ist meine FHEM-Installation auf einem Raspberry PI3 abgestürzt (worden?)
Offensichtlich kam es in der Zeit zu einem Out of Memory-Problem, welches dann wohl dazu führte, dass FHEM nicht mehr erreichbar war.
In meinem Serverlog sehe ich folgendes:
Datei /var/log/messages:


Oct 23 16:32:59 fhem2 kernel: [468753.510047] ntpd invoked oom-killer: gfp_mask=0x24201ca, order=0, oom_score_adj=0
Oct 23 16:33:00 fhem2 kernel: [468753.510066] ntpd cpuset=/ mems_allowed=0
Oct 23 16:33:00 fhem2 kernel: [468753.510093] CPU: 1 PID: 717 Comm: ntpd Not tainted 4.4.34-v7+ #930
Oct 23 16:33:00 fhem2 kernel: [468753.510102] Hardware name: BCM2709
Oct 23 16:33:00 fhem2 kernel: [468753.510145] [<80018784>] (unwind_backtrace) from [<80014058>] (show_stack+0x20/0x24)
Oct 23 16:33:00 fhem2 kernel: [468753.510170] [<80014058>] (show_stack) from [<803215c4>] (dump_stack+0xd4/0x118)
Oct 23 16:33:00 fhem2 kernel: [468753.510193] [<803215c4>] (dump_stack) from [<8015519c>] (dump_header+0x64/0x18c)
Oct 23 16:33:00 fhem2 kernel: [468753.510217] [<8015519c>] (dump_header) from [<80102ca0>] (oom_kill_process+0x350/0x49c)
Oct 23 16:33:00 fhem2 kernel: [468753.510238] [<80102ca0>] (oom_kill_process) from [<80103170>] (out_of_memory+0x30c/0x344)
Oct 23 16:33:00 fhem2 kernel: [468753.510264] [<80103170>] (out_of_memory) from [<80108488>] (__alloc_pages_nodemask+0x9a0/0x9e0)
Oct 23 16:33:00 fhem2 kernel: [468753.510285] [<80108488>] (__alloc_pages_nodemask) from [<80101604>] (filemap_fault+0x238/0x50c)
Oct 23 16:33:00 fhem2 kernel: [468753.510307] [<80101604>] (filemap_fault) from [<801ebea4>] (ext4_filemap_fault+0x3c/0x50)
Oct 23 16:33:00 fhem2 kernel: [468753.510331] [<801ebea4>] (ext4_filemap_fault) from [<8012ac2c>] (__do_fault+0x4c/0xb4)
Oct 23 16:33:00 fhem2 kernel: [468753.510352] [<8012ac2c>] (__do_fault) from [<8012e518>] (handle_mm_fault+0x8d8/0x112c)
Oct 23 16:33:00 fhem2 kernel: [468753.510376] [<8012e518>] (handle_mm_fault) from [<805bc808>] (do_page_fault+0x340/0x3b4)
Oct 23 16:33:00 fhem2 kernel: [468753.510396] [<805bc808>] (do_page_fault) from [<800092a8>] (do_PrefetchAbort+0x44/0xa8)
Oct 23 16:33:00 fhem2 kernel: [468753.510414] [<800092a8>] (do_PrefetchAbort) from [<805bc364>] (ret_from_exception+0x0/0x1c)
Oct 23 16:33:00 fhem2 kernel: [468753.510425] Exception stack(0xb2f77fb0 to 0xb2f77ff8)
Oct 23 16:33:00 fhem2 kernel: [468753.510440] 7fa0:                                     0000000e 7e827c6c 00000001 000dd914
Oct 23 16:33:00 fhem2 kernel: [468753.510456] 7fc0: 00000000 000dcdf0 000dd914 0000008e 00000001 000dd914 000dc9a0 000dcde4
Oct 23 16:33:00 fhem2 kernel: [468753.510471] 7fe0: 00000000 7e827958 76b7f180 76b7f180 60000010 ffffffff
Oct 23 16:33:00 fhem2 kernel: [468753.510480] Mem-Info:
Oct 23 16:33:00 fhem2 kernel: [468753.510507] active_anon:102078 inactive_anon:102120 isolated_anon:0
Oct 23 16:33:00 fhem2 kernel: [468753.510507]  active_file:205 inactive_file:219 isolated_file:0
Oct 23 16:33:00 fhem2 kernel: [468753.510507]  unevictable:0 dirty:0 writeback:7826 unstable:0
Oct 23 16:33:00 fhem2 kernel: [468753.510507]  slab_reclaimable:2536 slab_unreclaimable:3797
Oct 23 16:33:00 fhem2 kernel: [468753.510507]  mapped:2792 shmem:2623 pagetables:1850 bounce:0
Oct 23 16:33:00 fhem2 kernel: [468753.510507]  free:4089 free_pcp:429 free_cma:0
Oct 23 16:33:00 fhem2 kernel: [468753.510558] Normal free:16356kB min:16384kB low:20480kB high:24576kB active_anon:408312kB inactive_anon:408480kB active_file:820kB inactive_file:876kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:901120kB managed:882772kB mlocked:0kB dirty:0kB writeback:31304kB mapped:11168kB shmem:10492kB slab_reclaimable:10144kB slab_unreclaimable:15188kB kernel_stack:2368kB pagetables:7400kB unstable:0kB bounce:0kB free_pcp:1716kB local_pcp:136kB free_cma:0kB writeback_tmp:0kB pages_scanned:10484 all_unreclaimable? yes
Oct 23 16:33:00 fhem2 kernel: [468753.510569] lowmem_reserve[]: 0 0
Oct 23 16:33:00 fhem2 kernel: [468753.510585] Normal: 287*4kB (UE) 278*8kB (UE) 207*16kB (UME) 113*32kB (UME) 49*64kB (UME) 15*128kB (UME) 4*256kB (UM) 0*512kB 0*1024kB 0*2048kB 0*4096kB = 16380kB
Oct 23 16:33:00 fhem2 kernel: [468753.510661] 17292 total pagecache pages
Oct 23 16:33:00 fhem2 kernel: [468753.510672] 14194 pages in swap cache
Oct 23 16:33:00 fhem2 kernel: [468753.510682] Swap cache stats: add 26217, delete 12023, find 5553/5691
Oct 23 16:33:00 fhem2 kernel: [468753.510690] Free swap  = 0kB
Oct 23 16:33:00 fhem2 kernel: [468753.510698] Total swap = 102396kB
Oct 23 16:33:00 fhem2 kernel: [468753.510706] 225280 pages RAM
Oct 23 16:33:00 fhem2 kernel: [468753.510713] 0 pages HighMem/MovableOnly
Oct 23 16:33:00 fhem2 kernel: [468753.510721] 4587 pages reserved
Oct 23 16:33:00 fhem2 kernel: [468753.510729] 2048 pages cma reserved
Oct 23 16:33:00 fhem2 kernel: [468753.510738] [ pid ]   uid  tgid total_vm      rss nr_ptes nr_pmds swapents oom_score_adj name
Oct 23 16:33:00 fhem2 kernel: [468753.510779] [  130]     0   130     2976        7       8       0      191         -1000 systemd-udevd
Oct 23 16:33:00 fhem2 kernel: [468753.510796] [  135]     0   135     2385      347       7       0       47             0 systemd-journal
Oct 23 16:33:00 fhem2 kernel: [468753.510813] [  325]     0   325     1268       18       6       0       39             0 cron
Oct 23 16:33:00 fhem2 kernel: [468753.510829] [  329]     0   329      963       22       7       0       52             0 systemd-logind
Oct 23 16:33:00 fhem2 kernel: [468753.510845] [  332]   105   332      969       10       7       0       66             0 avahi-daemon
Oct 23 16:33:00 fhem2 kernel: [468753.510862] [  333]   104   333     1428       45       7       0      104          -900 dbus-daemon
Oct 23 16:33:00 fhem2 kernel: [468753.510879] [  337]   105   337      969        0       5       0       56             0 avahi-daemon
Oct 23 16:33:00 fhem2 kernel: [468753.510896] [  369]     0   369     8036        7      11       0      190             0 rsyslogd
Oct 23 16:33:00 fhem2 kernel: [468753.510912] [  389]     0   389     1813       23       7       0       95             0 wpa_supplicant
Oct 23 16:33:00 fhem2 kernel: [468753.510929] [  486]     0   486      517        0       4       0       29             0 hciattach
Oct 23 16:33:00 fhem2 kernel: [468753.510945] [  513]     0   513     1252       13       6       0       67             0 bluetoothd
Oct 23 16:33:00 fhem2 kernel: [468753.510960] [  624]     0   624      641       41       5       0       55             0 dhcpcd
Oct 23 16:33:00 fhem2 kernel: [468753.510977] [  625]     0   625     1966        7       7       0      114         -1000 sshd
Oct 23 16:33:00 fhem2 kernel: [468753.510994] [  716] 65534   716      573        7       6       0       27             0 thd
Oct 23 16:33:00 fhem2 kernel: [468753.511009] [  717]   106   717     1444       32       7       0       85             0 ntpd
Oct 23 16:33:00 fhem2 kernel: [468753.511025] [  740]     0   740     8973       67      13       0      110             0 lightdm
Oct 23 16:33:00 fhem2 kernel: [468753.511041] [  743]   112   743     3757        7       8       0      110             0 xrdp
Oct 23 16:33:00 fhem2 kernel: [468753.511057] [  752]     0   752     4398        7      10       0      149             0 xrdp-sesman
Oct 23 16:33:00 fhem2 kernel: [468753.511073] [  757]     0   757     1417        7       6       0      112             0 login
Oct 23 16:33:00 fhem2 kernel: [468753.511088] [  763]     0   763    25657      280      41       0     2570             0 Xorg
Oct 23 16:33:00 fhem2 kernel: [468753.511104] [  779]     0   779     7035       36      11       0      135             0 lightdm
Oct 23 16:33:00 fhem2 kernel: [468753.511121] [  787]  1000   787     1280        7       8       0      103             0 systemd
Oct 23 16:33:00 fhem2 kernel: [468753.511137] [  791]  1000   791     1717       10       6       0      331             0 (sd-pam)
Oct 23 16:33:00 fhem2 kernel: [468753.511152] [  794]  1000   794    12826      126      20       0      239             0 lxsession
Oct 23 16:33:00 fhem2 kernel: [468753.511168] [  844]  1000   844      925       12       5       0       43             0 ssh-agent
Oct 23 16:33:00 fhem2 kernel: [468753.511184] [  847]  1000   847      923        0       5       0       67             0 dbus-launch
Oct 23 16:33:00 fhem2 kernel: [468753.511200] [  848]  1000   848     1404        6       6       0      101             0 dbus-daemon
Oct 23 16:33:00 fhem2 kernel: [468753.511215] [  852]     0   852     5616       56      13       0      247             0 nmbd
Oct 23 16:33:00 fhem2 kernel: [468753.511243] [  862]  1000   862     7719        6      12       0      130             0 gvfsd
Oct 23 16:33:00 fhem2 kernel: [468753.511260] [  868]  1000   868    11813        1      15       0      118             0 gvfsd-fuse
Oct 23 16:33:00 fhem2 kernel: [468753.511276] [  883]  1000   883     1656        0       7       0      406             0 bash
Oct 23 16:33:00 fhem2 kernel: [468753.511304] [  892]  1000   892     5161       49      14       0      460             0 openbox
Oct 23 16:33:00 fhem2 kernel: [468753.511322] [  894]  1000   894     7644      101      15       0      142             0 lxpolkit
Oct 23 16:33:00 fhem2 kernel: [468753.511338] [  896]  1000   896    24688     1750      35       0      615             0 lxpanel
Oct 23 16:33:00 fhem2 kernel: [468753.511354] [  898]  1000   898    18646       76      26       0      558             0 pcmanfm
Oct 23 16:33:01 fhem2 kernel: [468753.511370] [  907]     0   907     9122      181      13       0       91             0 polkitd
Oct 23 16:33:01 fhem2 kernel: [468753.511386] [  911]  1000   911      478        4       4       0       20             0 sh
Oct 23 16:33:01 fhem2 kernel: [468753.511402] [  913]  1000   913      925        0       5       0       52             0 ssh-agent
Oct 23 16:33:01 fhem2 kernel: [468753.511419] [  963]  1000   963    15113       51      19       0      248             0 gvfs-udisks2-vo
Oct 23 16:33:01 fhem2 kernel: [468753.511434] [  970]     0   970    13644      238      14       0       84             0 udisksd
Oct 23 16:33:01 fhem2 kernel: [468753.511450] [  971]  1000   971    26491      104      30       0      937             0 zenity
Oct 23 16:33:01 fhem2 kernel: [468753.511466] [  978]   111   978     5344       27       9       0       21             0 rtkit-daemon
Oct 23 16:33:01 fhem2 kernel: [468753.511481] [  984]     0   984     8910       83      21       0      346             0 smbd
Oct 23 16:33:01 fhem2 kernel: [468753.511499] [ 1006]     0  1006     8910       70      19       0      356             0 smbd
Oct 23 16:33:01 fhem2 kernel: [468753.511517] [ 1011]  1000  1011     7515        0      11       0      120             0 gvfs-goa-volume
Oct 23 16:33:01 fhem2 kernel: [468753.511533] [ 1023]  1000  1023     7488        0      12       0      131             0 gvfs-mtp-volume
Oct 23 16:33:01 fhem2 kernel: [468753.511549] [ 1029]  1000  1029    10609        0      15       0      186             0 gvfs-afc-volume
Oct 23 16:33:01 fhem2 kernel: [468753.511565] [ 1035]  1000  1035     7743        0      13       0      156             0 gvfs-gphoto2-vo
Oct 23 16:33:01 fhem2 kernel: [468753.511580] [ 1042]  1000  1042      478        0       4       0       21             0 start-pulseaudi
Oct 23 16:33:01 fhem2 kernel: [468753.511597] [ 1043]  1000  1043     1449       18       7       0       35             0 xprop
Oct 23 16:33:01 fhem2 kernel: [468753.511613] [ 1048]  1000  1048     7073        0      12       0      123             0 menu-cached
Oct 23 16:33:01 fhem2 kernel: [468753.511633] [ 1054]  1000  1054    17122       36      16       0      157             0 gvfsd-trash
Oct 23 16:33:01 fhem2 kernel: [468753.511651] [ 7202]  1000  7202      925        0       5       0       52             0 ssh-agent
Oct 23 16:33:01 fhem2 kernel: [468753.511667] [20045]     0 20045     1390        0       6       0       57             0 xrdp-sessvc
Oct 23 16:33:01 fhem2 kernel: [468753.511683] [20050]  1000 20050    12792        0      19       0      299             0 lxsession
Oct 23 16:33:01 fhem2 kernel: [468753.511699] [20051]  1000 20051    14044     1899      19       0     2718             0 Xvnc
Oct 23 16:33:01 fhem2 kernel: [468753.511715] [20085]     0 20085     4050        0       8       0       87             0 xrdp-chansrv
Oct 23 16:33:01 fhem2 kernel: [468753.511730] [20139]  1000 20139      925        8       5       0       43             0 ssh-agent
Oct 23 16:33:01 fhem2 kernel: [468753.511747] [20142]  1000 20142      923        0       5       0       60             0 dbus-launch
Oct 23 16:33:01 fhem2 kernel: [468753.511763] [20143]  1000 20143     1401        6       5       0       97             0 dbus-daemon
Oct 23 16:33:01 fhem2 kernel: [468753.511779] [20149]  1000 20149     7719        0      13       0      130             0 gvfsd
Oct 23 16:33:01 fhem2 kernel: [468753.511795] [20161]  1000 20161     5215       11      15       0      545             0 openbox
Oct 23 16:33:01 fhem2 kernel: [468753.511810] [20162]  1000 20162     7643        0      16       0      223             0 lxpolkit
Oct 23 16:33:01 fhem2 kernel: [468753.511826] [20165]  1000 20165    23788      628      33       0      836             0 lxpanel
Oct 23 16:33:01 fhem2 kernel: [468753.511842] [20167]  1000 20167    29088     1019      29       0      677             0 pcmanfm
Oct 23 16:33:01 fhem2 kernel: [468753.511857] [20194]  1000 20194      925        0       5       0       52             0 ssh-agent
Oct 23 16:33:01 fhem2 kernel: [468753.511874] [20198]  1000 20198    15119       11      20       0      282             0 gvfs-udisks2-vo
Oct 23 16:33:01 fhem2 kernel: [468753.511890] [20233]  1000 20233     7514       11      11       0      119             0 gvfs-goa-volume
Oct 23 16:33:01 fhem2 kernel: [468753.511906] [20250]  1000 20250     7488        0      10       0      131             0 gvfs-mtp-volume
Oct 23 16:33:01 fhem2 kernel: [468753.511922] [20264]  1000 20264    10609        0      16       0      186             0 gvfs-afc-volume
Oct 23 16:33:01 fhem2 kernel: [468753.511937] [20289]  1000 20289     7743        0      15       0      156             0 gvfs-gphoto2-vo
Oct 23 16:33:01 fhem2 kernel: [468753.511953] [20299]  1000 20299      478        0       4       0       21             0 start-pulseaudi
Oct 23 16:33:01 fhem2 kernel: [468753.511969] [20300]  1000 20300     1449        0       6       0       47             0 xprop
Oct 23 16:33:01 fhem2 kernel: [468753.511984] [20363]  1000 20363     7073        0      10       0      123             0 menu-cached
Oct 23 16:33:01 fhem2 kernel: [468753.512002] [20652]  1000 20652    12513       11      15       0      174             0 gvfsd-trash
Oct 23 16:33:01 fhem2 kernel: [468753.512017] [20706]  1000 20706   134612     8925     159       0     2940             0 chromium-browse
Oct 23 16:33:01 fhem2 kernel: [468753.512033] [20725]  1000 20725      859        0       5       0       41             0 chrome-sandbox
Oct 23 16:33:01 fhem2 kernel: [468753.512049] [20726]  1000 20726    46994      148      63       0     1104             0 chromium-browse
Oct 23 16:33:01 fhem2 kernel: [468753.512065] [20728]  1000 20728    46994      186      34       0     1079             0 chromium-browse
Oct 23 16:33:01 fhem2 kernel: [468753.512081] [20756]  1000 20756     2335       11       8       0       91             0 gconfd-2
Oct 23 16:33:01 fhem2 kernel: [468753.512097] [20820]  1000 20820   110351    17406     220       0     3231           300 chromium-browse
Oct 23 16:33:01 fhem2 kernel: [468753.512112] [21122]   999 21122   156761   146176     300       0        0             0 perl
Oct 23 16:33:01 fhem2 kernel: [468753.512129] [21396]  1000 21396   111299    11861     164       0      966           300 chromium-browse



in /var/kern.log steht im Prinzip das Gleiche, nur noch

Oct 23 16:33:01 fhem2 kernel: [468753.512143] Out of memory: Kill process 21122 (perl) score 594 or sacrifice child
Oct 23 16:33:01 fhem2 kernel: [468753.512164] Killed process 21122 (perl) total-vm:627044kB, anon-rss:584676kB, file-rss:28kB

dahinter...

Ich kann mir zwar denken, was zum Absturz geführt hat, aber irgendwie müsste man es ja verhindern können.

Zuvor habe ich mich vom Internet über Port Forwarding auf die FHEM-Webseite eingeloggt, und wollte dann die Logdateien abziehen / mit FHEM angucken. Dabei muss es passiert sein.

Viele Grüße
Wolfgang

Dr. Boris Neubert

Hallo,

wenn der Speicher ausgeht, entscheidet der Kernel, welcher Prozess getötet wird. Die sicherste Möglichkeit, das zu verhindern, ist weniger Speicher zu verbrauchen  ::). Muss auf dem FHEM-Server wirklich eine graphische Oberfläche und ein Browser laufen? Mehr Swap hilft auch, allerdings ist ein Raspi, der auf die SD-Karte zu swappen beginnt, schon praktisch nicht mehr brauchbar (es sei denn, dass schlafende Prozesse ausgeswappt werden und bleiben). Darüber hinaus sind 627 MB für Perl auch schon üppig. Meine Installation braucht derzeit ca. 82 MB. Allerdings läuft sie auch erst seit zwei Tagen wieder und es gibt Berichte, dass sich der Perl-Prozess im Zeitverlauf aufbläht.

Vielleicht hat noch jemand (oder Google) sachdienliche Hinweise, wie man dem Kernel Vorgaben machen kann, welcher Prozess beim OOM geopfert wird, und wie man herausfinden kann, welches FHEM-Modul wieviel Speicher benötigt.

Viele Grüße
Boris

Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

wowogiengen

Hallo Boris,
die GUI hab ich jetzt gerade in den Einstellungen deaktiviert. Da waren auch noch 128KB Speicher für die GPU eingerichtet. Jetzt sinds noch 16. den Chromium mach ich nur an, wenn ich auch auf der Kiste bin und das  bin ich meistens remote.

Wie kann ich jetzt aber FHEM beibringen, den Speicher nicht zu sehr zu fressen?
Viele Grüße
Wolfgang

Wuppi68

Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

Wernieman

Lösung:
FHEM und "Grafische Oberfläche" nicht auf einen Rechner.

Zusätzlich:
Brauchst Du wirklich:
xrdp UND vnc?
Samba?
5? Chromium-Browserfenster?

Wenn Du wirklich einen Remote-Arbeitsplatz brauchst würde ich diesen auf ein eigenen Pi auslagern. Den für FHEM minimieren, so das nur das Nötigste drauf ist. Falls dieses nicht geht, müsstest Du über ein Größeres System nachdenken.
- 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

mahowi

Auch wenn es vielleicht nicht empfohlen wird, auch bei mir läuft auf dem Pi3 neben FHEM auch der X-Server, VNC und einiges andere. Deswegen geht der Pi aber nicht in die Knie.

Das Problem dürfte hier sein, daß Perl über 600MB an Speicher frisst. Das sieht nach einem Memory Leak irgendwo in FHEM aus. Und bevor dem Kernel die Luft ausgeht, schiesst er erstmal wahllos andere Prozesse ab.

Um den Speicher für FHEM zu begrenzen, wäre der Start über systemd und der Eintrag MemoryMax=xxxM im Service-File wohl der richtige Weg. Beim Überschreiten von xxx MB wird der Prozeß wegen OOM gekillt. Theoretisch müsste er danach wieder neu gestartet werden.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

wowogiengen

Hallo,
ich würde mal noch die folgenden Punkte ins Spiel bringen wollen:

  • Logdatei(en) mit zig MB in FHEM anzeigen...
  • "fork" des FHEM-Prozesses um einen PRESENCE-Test zu machen...
  • evtl. TabletUI, da ich dieses zuletzt aktiviert habe

Die PRESENCE-Tests habe ich jetzt mal deaktiviert, da sie momentan eh nicht richtig funktionieren (ich habe gedacht, dass ich meine Smartphones mit dem LANPING finden kann, aber das geht vom Raspberry aus wohl nicht (vom PC auch nicht  :-[).

Vielleicht weiss jemand noch was. FHEM würde ich als allerletztes abschiessen wollen, wenn dann eher die Remotedesktopverbindung oder so... Sonst läuft ja nix auf der Kiste.

Viele Grüße
Wolfgang

herrmannj

#7
Beobachte den Speicherverbrauch über einige Tage.

Möglichkeit 1:
das "ziehen" der logs hat mehr Speicher erfordert als verfügbar war.
-> in der Regel Zeitraum zu groß (Jahreslog) und/oder zu viele Details (zb Temp Sensor logt alle 20 Sekunden). Lösung Log aufteilen (Monatslog etc) und weniger events speichern (nur geänderte Temperaturen/ nur alle 15 min / etc)

Möglichkeit 2:
Speicherleck. Der Speicher wächst in diesem Fall kontinuierlich über die Zeit. Irgendwann ist dann halt Schluss.
-> Einzelne Module deaktivieren bis der Verursacher gefunden ist.

Möglichkeit 3:
Generell hoher Speicherverbrauch (verursacht durch Module mit überdimensional hohem Speicherbedarf)
-> mögliche Kandidaten arbeiten oft mit fork/threads. (was nicht bedeutet das alle die forken/threaden böse sind oder dies die einzige Ursache sein muss)
-> Einzelne Module deaktivieren bis der Verursacher gefunden ist.


frank

mit dem attr global blockingCallMax kannst du die anzahl der forks begrenzen.

ZitatLimit the number of parallel running processes started by the BlockingCall FHEM helper routine. Useful on limited hardware.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

wowogiengen

Zitat von: herrmannj am 23 Oktober 2017, 23:31:15
Beobachte den Speicherverbrauch über einige Tage.

Möglichkeit 1:
das "ziehen" der logs hat mehr Speicher erfordert als verfügbar war.
-> in der Regel Zeitraum zu groß (Jahreslog) und/oder zu viele Details (zb Temp Sensor logt alle 20 Sekunden). Lösung Log aufteilen (Monatslog etc) und weniger events speichern (nur geänderte Temperaturen/ nur alle 15 min / etc)

Möglichkeit 2:
Speicherleck. Der Speicher wächst in diesem Fall kontinuierlich über die Zeit. Irgendwann ist dann halt Schluss.
-> Einzelne Module deaktivieren bis der Verursacher gefunden ist.

Möglichkeit 3:
Generell hoher Speicherverbrauch (verursacht durch Module mit überdimensional hohem Speicherbedarf)
-> mögliche Kandidaten arbeiten oft mit fork/threads. (was nicht bedeutet das alle die forken/threaden böse sind oder dies die einzige Ursache sein muss)
-> Einzelne Module deaktivieren bis der Verursacher gefunden ist.

Hallo,
ich hab jetzt gerade mal ein paar Tests gemacht. Ich denke, dass die Möglichkeit 1 die Ursache meines Speicherproblems ist.
Ich hab grade zwar keine Ahnung, wie groß die Logs wirklich sind, aber es sind nur Monatslogs. Gibt es da vielleicht eine Möglichkeit, diese Logs seitenweise oder ähnliches anzuzeigen? Zu Hause wäre mir das Problem nicht aufgefallen, aber da geh ich eher über Samba auf die Logs drauf.
--> Vlt. hat FHEM jetzt schon eine Beschränkung drin, die verhindert, dass die großen Logs mit Perl geöffnet werden können. Oder der NTPD-daemon hat da was drin...


Das andere ist das, wenn der FHEM-Prozess die Datei mal aufgemacht und gesendet hat, dann bleibt die dort wohl im Speicher liegen und wird nicht mehr freigegenen, so dass der Speicherverbrauch mit jedem Ansehen eines Logfiles wächst...

DAU-Frage: Hilft mir da der Umstieg auf Datenbank etwas, oder ist das nur für die Konfiguration?

Viele Grüße
Wolfgang

wowogiengen

Habe gerade noch eine mögliche Fehlerursache gefunden:

Aus der FHEM-Doku:
reverseLogs
Display the lines from the logfile in a reversed order, newest on the top, so that you dont have to scroll down to look at the latest entries. Note: enabling this attribute will prevent FHEMWEB from streaming logfiles, resulting in a considerably increased memory consumption (about 6 times the size of the file on the disk).

Allerdings erst, nachdem ich es umgestellt habe. Dürfte jetzt also um einiges besser sein, denke ich...
Viele Grüße

Wolfgang

Wernieman

Wobei Du doppelten Speicherverbrauch hast:
- in FHEM
- im Browser
d.h. wenn Du ein Logfile per Browser auf dem FHEm-Server öffnest, darfst Du Dich bei großen Logfiles nicht wundern, das Du Memory-Probleme bekommst ....

Kannst Du nicht "Deinen Server" und Deinen "Arbeitsplatz" voneinander Trennen? z.B. 2 Pis?
- 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

wowogiengen

Hallo,
FHEM-Server und Arbeitsplatz sind getrennte Computer. den raspy als Arbeitsplatz zu nehmen, würde mir nie einfallen, da der einfach zu klein für ist. :P

Was nicht auszuschliessen ist, dass ich irgendwann mal den chromium offen gehabt habe, und mich dann nicht mehr richtig von der Remotedesktopsitzung abgemeldet habe. Dass dann evtl. Leichen übrig bleiben, die keiner mehr schliesst, kann ich mir gut vorstellen.

Ich werde jetzt das ganze mal beobachten, mit den Optimierungen, die ich gemacht habe.

In der Regel gehe ich mit putty auf die shell online, oder per Webbrowser auf den FHEM. Was anderes mache ich kaum.
Selbst die Logdateien per Samba mit notepad++ angucken, ist nervig, irgendwo bremst da was aus...

Viele Grüße
Wolfgang

Wernieman

??? "shell oder web" ... aber Du verwendest laut Log den Chromium AUF dem fhem-Raspi ??

Ich meinte einen eigenen Pi für den rdp/vlc-kram ...
- 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