FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Gisbert am 31 März 2018, 10:16:35

Titel: Modul PRESENCE liefert state error
Beitrag von: Gisbert am 31 März 2018, 10:16:35
Hallo Markus,

der lan-ping beim Modul PRESENCE liefert als Ergebnis state error.

Ein list des Devices:

Internals:
   ADDRESS    192.168.178.52
   CFGFN      ./FHEM/Anwesenheitserkennung.cfg
   DEF        lan-ping 192.168.178.52
   INTERVAL_NORMAL 30
   INTERVAL_PRESENT 30
   MODE       lan-ping
   NAME       LGG6
   NOTIFYDEV  global
   NR         197
   NTFY_ORDER 50-LGG6
   STATE      error
   TYPE       PRESENCE
   READINGS:
     2018-03-30 13:44:41   model           lan-ping
     2018-03-31 08:26:05   presence        present
     2018-03-31 10:00:33   state           error
   helper:
     CURRENT_STATE present
     RUNNING_PID:
       abortFn    PRESENCE_ProcessAbortedScan
       arg        LGG6|192.168.178.52|0|4
       bc_pid     81405
       finishFn   PRESENCE_ProcessLocalScan
       fn         PRESENCE_DoLocalPingScan
       pid        WAITING:
       timeout    60
       abortArg:
     bm:
       PRESENCE_Attr:
         cnt        4
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        30.03. 13:44:41
         max        3.60012054443359e-05
         tot        0.000107288360595703
         mAr:
           set
           LGG6
           absenceThreshold
           3
       PRESENCE_Define:
         cnt        1
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        30.03. 13:44:41
         max        0.000531911849975586
         tot        0.000531911849975586
         mAr:
           HASH(0x121206d0)
           LGG6 PRESENCE lan-ping 192.168.178.52
       PRESENCE_Notify:
         cnt        880
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        30.03. 13:44:50
         max        0.00111222267150879
         tot        0.150604724884033
         mAr:
           HASH(0x121206d0)
           HASH(0x17916950)
       PRESENCE_Set:
         cnt        27
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        30.03. 13:56:03
         max        0.000294923782348633
         tot        0.00291609764099121
         mAr:
           HASH(0x121206d0)
           LGG6
           ?
Attributes:
   absenceThreshold 3
   devStateIcon present:it_smartphone absent:it_smartphone@gray maybe.absent:it_smartphone@FE9A2E maybe.present:it_smartphone@FE9A2E
   icon       it_smartphone
   room       FritzBox,Mobile


Außerdem wird die log-Datei vollgeschrieben:
2018.03.31 09:58:40 1: Cannot fork: Cannot allocate memory
2018.03.31 09:58:40 1: Cannot fork: Cannot allocate memory
2018.03.31 09:58:40 1: Cannot fork: Cannot allocate memory
2018.03.31 09:58:40 1: Cannot fork: Cannot allocate memory
2018.03.31 09:58:40 2: PRESENCE (LGG6) - error while processing check: Could not execute ping command: "ping -c 4 192.168.178.52"
2018.03.31 09:59:10 1: Cannot fork: Cannot allocate memory
2018.03.31 09:59:10 1: Cannot fork: Cannot allocate memory
2018.03.31 09:59:10 1: Cannot fork: Cannot allocate memory
2018.03.31 09:59:10 1: Cannot fork: Cannot allocate memory


Kannst du dir das mal anschauen?

Viele​ Grüße​ und ein Frohes Osterfest
Gisbert​

Edit:
Nach einem Neustart des RPi ist der state present (wie erwartet) und im logfile tauchen die o.g. Einträge (bis jetzt) nicht mehr auf.
Was kann die Ursache sein?
Titel: Antw:Modul PRESENCE liefert state error
Beitrag von: MadMax-FHEM am 31 März 2018, 11:19:23
Wie im Log steht: Speicher alle... Bzw. voll...

Daher ist nach Reboot/Restart auch wieder (alles) gut...

Wie lang lief fhem seit dem letzten Neustart?
Irgendein verwendetes Modul "frisst" wohl Speicher...

Gruß, Joachim
Titel: Antw:Modul PRESENCE liefert state error
Beitrag von: Gisbert am 31 März 2018, 11:32:52
Hallo Joachim,

danke für den Hinweis, ich hatte so was schon befürchtet.
Der RPi wurde letzten Sonntag neu gestartet, d.h. jetzt lief er ca. 6.5 Tage. Ich mache regelmäßig am Sonntagmorgen einen Neustart des RPi.
Letzte Woche, auch gegen Ende der Woche, war der Speicher ebenfalls voll.

Wie kann ich herausfinden, was den Speicher verbraucht, wenn es wieder so weit ist? Ich hab freeezmon und apptime am Start, weiß aber noch nicht recht damit umzugehen. In freezemon gibt es pro Tag ca. 20-30 Freezes mit kleiner 3 Sekunden.

Viele​ Grüße​ Gisbert​
Titel: Antw:Modul PRESENCE liefert state error
Beitrag von: MadMax-FHEM am 31 März 2018, 12:12:52
Hi Gisbert,

oh, das geht aber dann schnell bei dir...

Habe auch einen (ganz leichten) Speicherfresser.

Bei mir geht das von ca. 10% nach Neustart bis zu 25% nach so einem Monat (oder so).
Ich überwache den Speicherverbrauch (Prozentual) von fhem per Sysmon und schicke mir eine Nachricht, wenn 25% Verbrauch (aktuell, evtl. erhöhe ich das noch).

Danach starte ich dann neu und wieder gut.

Es gibt einige (wenige) Threads zum Auffinden von Speicherfressern...
...aber so richtig geholfen hat mir da auch noch keiner :-|

Prinzipiell bleibt wohl nur ein modul nach dem anderen zu deaktivieren und zu prüfen...
Werde ich bei Gelegenheit mal auf meinem Testsystem so machen...

Wenn du was findest wäre das sehr interessant!

Ach ja was ich irgendwo im Forum aufgeschnappt habe: HTTPMOD soll wohl nicht sauber freigeben, also bei jedem Aufruf etwas Speicher "verlieren". Aber nicht bestätigt...

Gruß, Joachim
Titel: Antw:Modul PRESENCE liefert state error
Beitrag von: frank am 31 März 2018, 12:28:33
hier gibt es noch mehr leidensgenossen:
https://forum.fhem.de/index.php/topic,84372.0.html (https://forum.fhem.de/index.php/topic,84372.0.html)
Titel: Antw:Modul PRESENCE liefert state error
Beitrag von: Gisbert am 31 März 2018, 13:06:00
Hallo Frank,
vielen Dank für den Link.

Hallo Joachim,
Sysmon läuft auch bei mir auf dem RPi3 B.

Sind die folgenden Readings von Sysmon interessant, die ich dann mal im Blick behalten werde?
2018-03-31 12:50:09   ram             Total: 923.35 MB, Used: 234.11 MB, 25.35 %, Free: 689.25 MB
2018-03-31 12:50:09   ram_used_stat   129.87 679.71 247.46
2018-03-31 12:50:09   swap            Total: 100.00 MB, Used: 0.00 MB,  0.00 %, Free: 100.00 MB
2018-03-31 12:50:09   swap_used_stat  0.00 74.21 0.43


Nach dem Neustart sind direkt mal 25% verbraucht.
Ist Swap 100 MB eine Auslagerungsdatei auf die Speicherkarte, falls der Arbeitsspeicher zu klein ist?
Kann man die Größe verändern?

Viele​ Grüße​ Gisbert​
Titel: Antw:Modul PRESENCE liefert state error
Beitrag von: MadMax-FHEM am 31 März 2018, 13:14:29
Swap ist noch frei bei dir...
Wird vom Betriebssystem angelegt.
Anpassen evtl. per PartMagic oder gParted...
Würde ich aber mal lassen...

Die 25% sind ja kompletter Speicher.
Ich lasse mir per top etc. prozentual fhem (bzw. von perl) ausgeben und hab das in Sysmon eingebunden...

Nicht so ausführlich, bin grad unterwegs und nur Handy...

Gruß, Joachim