Cannot fork: Cannot allocate memory | BlockingInformParent

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

Vorheriges Thema - Nächstes Thema

der-Lolo

Das reload 01_FHEMWEB hilft bei mir leider nicht...
Bin gespannt wie es morgen nach einem update ausschaut - Danke das unermüdlich gesucht und gefunden wird...
reload 01_FHEMWEB gegen 18 Uhr 30 ausgeführt...
Normalerweise schaut es nach einem "shutdown restart wie auf dem zweitem Bild aus...

gloob

So ich habe heute früh ein Update ausgeführt und aktuell sieht es deutlich besser aus als gestern.
Leider habe ich parallel zum Update auch Freezemon rausgeworfen. Es kann aktuell also eines der beiden gewesen sein.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

gloob

Also ich habe es jetzt auf 2 Instanzen seit heute früh am laufen und keine Probleme mit Speicherzuwachs.
Vielen Dank für die super Arbeit an alle Beteiligten.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Rewe2000

Hallo gloob,

hattest du auch apptime, zusammen mit Frezemon installiert?

Bei mir war das Problem vor einigen Monaten, von heute auf morgen wie weggeblasen, als ich Freezemon und apptime (zwingend mit shutdown restart) entfernt hatte. https://forum.fhem.de/index.php/topic,84372.msg790403.html#msg790403

Ab diesem Zeitpunkt hatte ich keinerlei Probleme, bis zum heutigen Tag mehr.

Wie gesagt bei meiner Installation und den Modulen welche ich verwende. Bei anderen Anwendern sind die Probeme jedoch nie verschwunden und die Ursache für das Problem scheint sehr vielschichtig zu sein.

Danke an die unermüdliche Arbeit der Experten, auch wenn ich nicht mehr betroffen war, ich habe immer mit euch mitgelitten.

Gruß Reinhard
Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky

gloob

Ich hatte Freezemon mal installiert, allerdings mit dem Update heute früh wieder entfernt.
Zur Gegenprobe habe ich vor 2 Stunde Freezemon nochmal hinzugefügt und kann aber trotzdem keinen Anstieg feststellen.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Eistee

Habe gerade das Update von FHEMWEB installiert.
Im Bild der RAM Verlauf von meinem FHEM mit dem DOIF welches bei "cannot fork" automatisch einen reboot auslöst.
Ich werde berichten ob sich was verbessert.

towag

In meiner Konfiguration hat das Update leider nicht geholfen.

Die Liste der geladenen Module:
Latest Revision: 20089

File                 Rev   Last Change

fhem.pl              20069 2019-08-27 08:36:02Z rudolfkoenig
96_allowed.pm        20069 2019-08-27 08:36:02Z rudolfkoenig
95_Astro.pm          19817 2019-07-11 14:04:24Z loredo
90_at.pm             17561 2018-10-18 14:45:30Z rudolfkoenig
98_autocreate.pm     19372 2019-05-11 15:13:59Z rudolfkoenig
70_BOTVAC.pm         19592 2019-06-10 17:45:38Z vuffiraa
70_BRAVIA.pm         19191 2019-04-15 17:40:25Z vuffiraa
57_Calendar.pm       19937 2019-08-02 19:03:44Z neubert
98_cmdalias.pm       16300 2018-03-01 08:48:21Z rudolfkoenig
00_CUL.pm            17559 2018-10-18 07:45:07Z rudolfkoenig
10_CUL_HM.pm         19983 2019-08-11 13:48:33Z martinp876
93_DbLog.pm          20059 2019-08-25 15:55:19Z DS_Starter
93_DbRep.pm          20074 2019-08-27 21:39:26Z DS_Starter
98_DOIF.pm           19786 2019-07-05 21:47:08Z Damian
98_DOIFtools.pm      19948 2019-08-04 15:53:01Z Ellert
98_dummy.pm          19585 2019-06-09 08:04:48Z rudolfkoenig
70_EGPM.pm           14071 2017-04-22 12:13:43Z alexus
17_EGPM2LAN.pm       14071 2017-04-22 12:13:43Z alexus
91_eventTypes.pm     14888 2017-08-13 12:07:12Z rudolfkoenig
01_FHEMWEB.pm        20089 2019-09-01 15:17:06Z rudolfkoenig
92_FileLog.pm        19102 2019-04-02 19:48:57Z rudolfkoenig
95_FLOORPLAN.pm      13735 2017-03-19 12:43:53Z UliM
89_FULLY.pm          19966 2019-08-08 20:24:24Z zap
20_GUEST.pm          19533 2019-06-02 19:33:11Z loredo
98_HMinfo.pm         19495 2019-05-30 09:17:45Z martinp876
22_HOMEMODE.pm       19955 2019-08-05 21:01:55Z DeeSPe
98_HTTPMOD.pm        19978 2019-08-10 12:51:48Z StefanStrobel
02_HTTPSRV.pm        16874 2018-06-15 17:18:55Z neubert
49_IPCAM.pm          18505 2019-02-05 21:50:23Z rudolfkoenig
10_Itach_IR.pm       10723 2016-02-04 18:13:54Z ulimaass
88_Itach_IRDevice.pm 10723 2016-02-04 18:13:54Z ulimaass
98_JsonList2.pm      17230 2018-08-30 13:03:48Z rudolfkoenig
70_KODI.pm           19982 2019-08-11 09:55:36Z vbs
93_Log2Syslog.pm     19905 2019-07-28 10:42:28Z DS_Starter
91_notify.pm         19374 2019-05-11 17:48:03Z rudolfkoenig
34_NUT.pm             9023 2015-08-05 09:00:12Z narsskrarc
73_PRESENCE.pm       18314 2019-01-18 13:49:05Z markusbloch
59_PROPLANTA.pm      18714 2019-02-24 16:08:46Z tupol
33_readingsGroup.pm  19774 2019-07-04 14:10:53Z justme1968
33_readingsProxy.pm  16299 2018-03-01 08:06:55Z justme1968
10_RESIDENTS.pm      19533 2019-06-02 19:33:11Z loredo
20_ROOMMATE.pm       19533 2019-06-02 19:33:11Z loredo
No Id found for 17_SIRD.pm
37_Spotify.pm        16967 2018-07-09 16:02:50Z neumann
98_structure.pm      19809 2019-07-09 20:56:14Z rudolfkoenig
99_SUNRISE_EL.pm     18732 2019-02-25 13:15:34Z rudolfkoenig
42_SYSMON.pm         17227 2018-08-29 19:58:18Z hexenmeister
50_TelegramBot.pm    19451 2019-05-23 07:51:03Z viegener
98_telnet.pm         17529 2018-10-14 12:57:06Z rudolfkoenig
45_TRX.pm            18738 2019-02-25 21:56:28Z KernSani
46_TRX_LIGHT.pm      19312 2019-05-01 21:27:31Z KernSani
46_TRX_WEATHER.pm    18095 2018-12-30 14:37:23Z KernSani
74_Unifi.pm          19989 2019-08-12 18:25:21Z wuehler
74_UnifiClient.pm    19989 2019-08-12 18:25:21Z wuehler
74_UnifiSwitch.pm    20018 2019-08-18 18:58:36Z wuehler
99_Utils.pm          18920 2019-03-16 09:58:52Z rudolfkoenig
77_UWZ.pm            19869 2019-07-20 13:59:38Z CoolTux
98_version.pm        15140 2017-09-26 09:20:09Z markusbloch
91_watchdog.pm       16963 2018-07-09 07:40:22Z rudolfkoenig
98_WeekdayTimer.pm   19806 2019-07-09 16:52:45Z Beta-User
10_ZWave.pm          20052 2019-08-24 16:01:41Z rudolfkoenig
00_ZWDongle.pm       19856 2019-07-19 18:00:04Z rudolfkoenig

AttrTemplate.pm      19085 2019-04-01 17:00:24Z rudolfkoenig
Blocking.pm          17553 2018-10-17 15:56:35Z rudolfkoenig
Color.pm             18481 2019-02-02 09:35:08Z justme1968
DevIo.pm             19372 2019-05-11 15:13:59Z rudolfkoenig
GPUtils.pm           19666 2019-06-20 11:17:29Z CoolTux
HMConfig.pm          19226 2019-04-20 06:54:28Z martinp876
HttpUtils.pm         20037 2019-08-21 05:34:45Z rudolfkoenig
Meta.pm              20009 2019-08-17 11:06:17Z loredo
myUtilsTemplate.pm    7570 2015-01-14 18:31:44Z rudolfkoenig
RESIDENTStk.pm       19788 2019-07-06 08:10:55Z loredo
RTypes.pm            10476 2016-01-12 21:03:33Z borisneubert
SetExtensions.pm     19208 2019-04-17 19:27:09Z rudolfkoenig
SubProcess.pm        14334 2017-05-20 23:11:06Z neubert
TcpServerUtils.pm    19138 2019-04-07 10:17:21Z rudolfkoenig
UConv.pm             19770 2019-07-03 15:58:46Z loredo
Unit.pm              19614 2019-06-13 23:11:25Z loredo
ZWLib.pm             17186 2018-08-20 20:10:55Z rudolfkoenig

doif.js                    15546 2017-12-03 09:57:42Z Ellert
f18.js                     20069 2019-08-27 08:36:02Z rudolfkoenig
fhemweb.js                 19957 2019-08-06 09:10:17Z rudolfkoenig
fhemweb_readingsGroup.js   15189 2017-10-03 17:53:27Z justme1968




CoolTux

Dann wirst Du nicht drum rum kommen selbst aktiv zu werden.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

der-Lolo

Bei mir ist es zwar besser geworden - aber nicht ganz weg...
Update und Shutdown restart deutlich zu erkennen gestern gegen 17 Uhr 30.

CoolTux

Zitat von: der-Lolo am 03 September 2019, 07:13:58
Bei mir ist es zwar besser geworden - aber nicht ganz weg...
Update und Shutdown restart deutlich zu erkennen gestern gegen 17 Uhr 30.

Und woran erkennst Du das FHEM den Speicher beansprucht? Was sagt z.B. top wie viel fhem beansprucht?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

clumsy

#595
Ich kann bei mir ein ähnliches Verhalten feststellen, mit diversen symptomen wie dass z.b. Module welche TCP connections entgegennehmen nicht mehr (schnell genug) antworten, kein DBLog mehr geschrieben wird, etc.

Der Memoryverbruach unmittelbar nach dem Start ist ca. 180MB (laut top/ps), nach 24h ca. 2GB....

Ich werd auch mal versuchen mit Memorydumps/Analysen einzugrenzen was es sein könnte, wobei meine Kentnisse in Memdumps zu analysieren sehr beschränkt sind... wenn ichs einigermassen eingrenzen kann, würde ich es hier posten..

PS: ein reload von FHEMWEB ändert nichts am Memoryverbrauch...

rudolfkoenig

ZitatPS: ein reload von FHEMWEB ändert nichts am Memoryverbrauch...
Mein Speicherloch-Fix hilft nur in in den vorher genannten Faellen, in meiner "Produktion" z.Bsp. gar nicht.
Den Ausloeser habe ich am 2018-07-15 eingebaut, die Diskussion hier hat aber schon im Februar 2018 angefangen, d.h. es sind mehrere Ursachen fuer "unser" Speicherloch verantwortlich.

Neben der Memorydump Methode gibt es eine Andere, was beim Lokalisieren helfen koennte: nacheinander fuer alle Module ein "reload modulname" durchfuehren, und vorher/nachher z.Bsp. mit
Zitatps -elf | grep -v awk | awk '/fhem.pl/{print $10}'
den Speicherverbrauch vergleichen. Ich kann zwar nicht garantieren, dass reload keine Nebeneffekte hat, es wird aber zeigen, ob das Modul eine signifikante Datenmenge in Moduleigenen (my) Variablen haelt.

clumsy

Zitat von: rudolfkoenig am 03 September 2019, 08:40:02
Neben der Memorydump Methode gibt es eine Andere, was beim Lokalisieren helfen koennte: nacheinander fuer alle Module ein "reload modulname" durchfuehren, und vorher/nachher z.Bsp. mitden Speicherverbrauch
Ah, gute idee, werd ich auch mal noch machen... habs jetzt heute morgen neu gestartet und in regelmässigen abständen mal ein dump der smap gemacht.

Ich verwende FHEMWEB schon auch relativ rege plus noch einiges anderes (wohl eher selten gebruachtes), evtl. ist da ja was dabei.

Hardlife

Ich habe es nun mit dem neuen FHEMWEB eine Weile laufen lassen...

Ergebnis ist eine leichte Verbesserung. Statt alle 16 Stunden startet fhem nun nach 20 Stunden neu.
(bei fhem-Start werden 180MB RAM belegt und bei 600MB wird per DOIF fhem neu gestartet)

ich habe auch den Tipp mit "reload MODULE" versucht und alle meine Module einzeln nacheinnander neu geladen.
Latest Revision: 20089

File                   Rev   Last Change

fhem.pl                20069 2019-08-27 08:36:02Z rudolfkoenig
No Id found for 36_AliRF.pm
34_APCUPSD.pm          10167 2015-06-22 12:28:01Z premultiply
90_at.pm               17561 2018-10-18 14:45:30Z rudolfkoenig
57_Calendar.pm         19937 2019-08-02 19:03:44Z neubert
57_CALVIEW.pm          17605 2018-10-23 16:37:40Z chris1284
38_CO20.pm             14433 2017-05-30 20:29:44Z moises
00_CUL.pm              17559 2018-10-18 07:45:07Z rudolfkoenig
10_CUL_HM.pm           19983 2019-08-11 13:48:33Z martinp876
14_CUL_MAX.pm          12440 2016-10-26 20:24:45Z mgehre
14_CUL_REDIRECT.pm     18358 2019-01-20 20:21:05Z bjoernh
14_CUL_TX.pm           17102 2018-08-08 05:34:42Z rudolfkoenig
98_dewpoint.pm         18846 2019-03-10 11:45:58Z hotbso
98_DOIF.pm             19786 2019-07-05 21:47:08Z Damian
98_dummy.pm            19585 2019-06-09 08:04:48Z rudolfkoenig
91_eventTypes.pm       14888 2017-08-13 12:07:12Z rudolfkoenig
01_FHEMWEB.pm          20089 2019-09-01 15:17:06Z rudolfkoenig
92_FileLog.pm          19102 2019-04-02 19:48:57Z rudolfkoenig
14_FLAMINGO.pm         18657 2019-02-19 21:02:24Z HomeAuto_User
14_Hideki.pm           18671 2019-02-20 20:38:21Z Sidey
00_HMUARTLGW.pm        18838 2019-03-09 20:40:14Z mgernoth
98_HourCounter.pm      11307 2016-04-25 08:02:06Z rudolfkoenig
98_HTTPMOD.pm          19978 2019-08-10 12:51:48Z StefanStrobel
02_HTTPSRV.pm          16874 2018-06-15 17:18:55Z neubert
49_IPCAM.pm            18505 2019-02-05 21:50:23Z rudolfkoenig
10_IT.pm               19761 2019-07-02 18:37:03Z bjoernh
36_JeeLink.pm          14707 2017-07-13 18:08:33Z justme1968
36_LaCrosse.pm         18149 2019-01-05 19:36:58Z HCS
82_LGTV.pm              2076 2012-11-04 13:49:43Z rudolfkoenig
98_logProxy.pm         17587 2018-10-22 07:18:30Z justme1968
10_MAX.pm              16847 2018-06-10 18:42:19Z rudolfkoenig
No Id found for 99_myUtils.pm
91_notify.pm           19374 2019-05-11 17:48:03Z rudolfkoenig
41_OREGON.pm           18660 2019-02-19 22:44:37Z Sidey
59_PROPLANTA.pm        18714 2019-02-24 16:08:46Z tupol
33_readingsGroup.pm    19774 2019-07-04 14:10:53Z justme1968
95_remotecontrol.pm    10724 2016-02-04 18:17:33Z ulimaass
No Id found for 19_Revolt.pm
93_RFHEM.pm            15058 2017-09-12 19:30:29Z chris1284
# $Id: 99_serial.pm $ 06/16/2013
00_SIGNALduino.pm      19857 2019-07-19 18:00:16Z Sidey
98_Siro.pm             19825 2019-07-14 08:05:23Z Byte09
No Id found for 74_StreamRadio.pm
98_structure.pm        19809 2019-07-09 20:56:14Z rudolfkoenig
99_SUNRISE_EL.pm       18732 2019-02-25 13:15:34Z rudolfkoenig
98_SVG.pm              19688 2019-06-23 07:17:03Z rudolfkoenig
42_SYSMON.pm           17227 2018-08-29 19:58:18Z hexenmeister
98_telnet.pm           17529 2018-10-14 12:57:06Z rudolfkoenig
No Id found for 99_TimeUtils.pm
99_Utils.pm            18920 2019-03-16 09:58:52Z rudolfkoenig
# $Id: 99_UtilsHourCounter.pm 2014-12-16 20:15:33 john $
No Id found for 99_UtilsMaxProf.pm
98_version.pm          15140 2017-09-26 09:20:09Z markusbloch
59_Weather.pm          19628 2019-06-15 07:49:18Z CoolTux
98_weblink.pm          16293 2018-02-28 21:33:57Z rudolfkoenig
No Id found for 95_WebViewControl.pm
32_WifiLight.pm        15907 2018-01-16 20:58:44Z herrmannj
98_WOL.pm              18573 2019-02-12 21:42:18Z KernSani
80_xxLG7000.pm          2076 2012-11-04 13:49:43Z rudolfkoenig

AttrTemplate.pm        19085 2019-04-01 17:00:24Z rudolfkoenig
Blocking.pm            17553 2018-10-17 15:56:35Z rudolfkoenig
Color.pm               18481 2019-02-02 09:35:08Z justme1968
DarkSkyAPI.pm          19628 2019-06-15 07:49:18Z CoolTux
DevIo.pm               19372 2019-05-11 15:13:59Z rudolfkoenig
GPUtils.pm             19666 2019-06-20 11:17:29Z CoolTux
HMConfig.pm            19226 2019-04-20 06:54:28Z martinp876
HttpUtils.pm           20037 2019-08-21 05:34:45Z rudolfkoenig
No Id found for MaxCommon.pm
RTypes.pm              10476 2016-01-12 21:03:33Z borisneubert
No Id found for SD_ProtocolData.pm
No Id found for SD_Protocols.pm
SetExtensions.pm       19208 2019-04-17 19:27:09Z rudolfkoenig
SubProcess.pm          14334 2017-05-20 23:11:06Z neubert
TcpServerUtils.pm      19138 2019-04-07 10:17:21Z rudolfkoenig

doif.js                    15546 2017-12-03 09:57:42Z Ellert
fhemweb.js                 19957 2019-08-06 09:10:17Z rudolfkoenig
fhemweb_readingsGroup.js   15189 2017-10-03 17:53:27Z justme1968


Den Speicher habe ich immer vor und nach Modul-Loading mit dem vorgeschlagenen Befehl kontrolliert
ps -elf | grep -v awk | awk '/fhem.pl/{print $10}'

Ich konnte bei der Prozedur nur minimale Veränderungen feststellen (Beispiel:  111375 zu 111494 zu 112356 und so fort... Neu gestartet: 25014)
Eine regelrechten Speichereinbruch konnte ich nicht ausmachen...


LG,
Hardlife
Raspi 4B
nanoCUL-868 & 433,JeeLink,milight,Signalduino,GPIO-433er-Sender/Empfänger, GPIO-Infrarot,GSM-Stick für SMS
MAX!-Heizungssteuerung,Intertechno-V1-Steckdosen + V3-Dimmer,"Flamingo FA21RF"-Funk-Rauchmelder
433er-China-Bewegungsmelder,"Voltcraft CO20"-Stick,LaCrosse-Temperatur,Revolt-NC5462

towag

Ich habe für jedes Modul der Liste ein "reload" durchgeführt.
Die einzige Speicherreduktion von ca 10MB ergab sich, als ich ein reload auf 93_DbLog durchgeführt habe.


Ein anderer Ansatz:

root:/opt# ps -aef |grep perl
fhem     11460     1  3 17:45 ?        00:02:03 /usr/bin/perl fhem.pl fhem.cfg
fhem     17579 11460  5 18:38 ?        00:00:00 /usr/bin/perl fhem.pl fhem.cfg
root     17588  4463  0 18:38 pts/0    00:00:00 grep perl


root:~# cat /proc/17579/maps
00010000-001b4000 r-xp 00000000 b3:02 2188       /usr/bin/perl
001c3000-001c4000 r--p 001a3000 b3:02 2188       /usr/bin/perl
001c4000-001c6000 rw-p 001a4000 b3:02 2188       /usr/bin/perl
00209000-00999000 rw-p 00000000 00:00 0          [heap]
00999000-08599000 rw-p 00000000 00:00 0          [heap]
08599000-12c66000 rw-p 00000000 00:00 0          [heap]
6db74000-70264000 rw-p 00000000 00:00 0
...
...
75b32000-75c33000 rw-p 00000000 00:00 0
75cb4000-75e15000 rw-p 00000000 00:00 0
75e56000-75e5b000 r-xp 00000000 b3:02 368493     /usr/lib/arm-linux-gnueabihf/perl5/5.24/auto/XML/Bare/Bare.so
...
...


Memory Dump der heap Segmente

gdb --pid 17579
dump memory /opt/output 0x00209000 0x00999000

strings /opt/output > s
sort s |uniq -cd >sc

Häufigkeit der Strings sortiert (Auszug der meisten Vorkommen)
Von 31424 String mit Count > 2 sind 31000 weniger als 1000 Mal in der Liste.

13104   auto
14539   switch0102
14786   e: swit
14792   switch0201
16203   FULLY
16272   0.00
16356   disconnected
29143   ZWAVE
30101   switch0101
49009   sing ev
60180   UNIFISWITCH
73344   UnifiController
236674   UNIFI



Was ich auch noch gefunden habe (mit Timestamp versehen - daher nur Vorkommen 1)
"2019-09-03 14:58:15|UnifiController|UNIFI|-AP_switch0102_state: ok|-AP_switch0102_state|ok|"

root:/opt# cat s |grep "AP_switch0102_state" |wc -l
743


Vielleicht kann jemand aus diesen Daten Schlüsse ziehen?
Ich habe die UNIFI-Definitionen auskommentiert und warte mal ab