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
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
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
https://unix.stackexchange.com/questions/1424/is-there-a-way-to-limit-the-amount-of-memory-a-particular-process-can-use-in-uni
das sind ein paar möglich Ansätze :-)
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.
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.
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
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.
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.
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
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
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?
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
??? "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 ...