Hauptmenü

FHEM hängt alle 30 - 60 Min.

Begonnen von Marlen, 16 September 2019, 09:35:51

Vorheriges Thema - Nächstes Thema

Marlen

Hab gestern mein komplettes system neu aufgesetzt und ein Backup eingespielt, als alles stabil gelaufen ist.
Trotzdem bleibt FHEM fast jede Stunde hängen.
Aus dem logfile geht nichts hervor was zum hängen geführt hat. Wie kann ich dem Problem auf die Spur kommen?
Schon seltsam, ein neues System mit einem stabilen Backup und trotzdem bleibt FHEM hängen.
Könnte es auch ein Hardware Fehler sein???

LG
Marlen

Micky

Hi,

weiss nicht ob es dir was bring aber evtl. verrät dir FREEZEMON (Freezes monitoren) mehr als dein LOG

hast da folgende Readings:
Readings (nach dem ersten erkannten Freeze):
freezeTime: Dauer des Freezes
freezeDevice: Liste von möglicherweise den Freeze auslösenden Funktionen(Devices)
fcDay: kumulierte Anzahl der Freezes pro Tag
ftDay: kumulierte Dauer der Freezes pro Tag
fcDayLast: speichert die kumulierte Anzahl der Freezes des vergangenen Tages (um tageweise plots zu erstellen)
fcDayLast: speichert die kumulierte Dauer der Freezes des vergangenen Tages (um tageweise plots zu erstellen)
state: s:<StartZeit> e:<EndeZeit>f:<Dauer> d:<Devices>

Attribute
fm_freezeTime: Wert in Sekunden (Default: 1) - Nur Freezes länger als fmFreezeTime werden als Freeze betrachtet
fm_forceApptime: Wenn FREEZEMON aktiv ist wird automatisch apptime gestartet (falls nicht aktiv)
fm_log: dynamischer Loglevel, nimmt einen String der Form 10:1 5:2 1:3 entgegen, was bedeutet: Freezes > 10 Sekunden werden mit Loglevel 1 geloggt, >5 Sekunden mit Loglevel 2 usw...
disable: aktivieren/deaktivieren der Freeze-Erkennung

Get
freeze: gibt die letzten 20 freezes zurück (in Kompakter Darstellung, wie im state) - Dies dient einem schnellen Überblick, für detailliertere Auswertungen empfehle ich die Daten zu loggen.



hier der Link:
https://forum.fhem.de/index.php?topic=83909.0

Viel erfolg.
Grüße
Micky

der-Lolo


KölnSolar

ich würde das "fast" jede Stunde mal analytisch konkretisieren.
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

Marlen

Dann probier ich mal FREEZEMON.

Defekte SD-Karte kann es nicht sein, hab nachdem es aufgetreten ist eine komplett neues System auf einer anderen SD-Karte erstellt.

Das Problem trat erst nach einen Backup auf.

LG
  Marlen

CoolTux

Mich würde ja eher ein Log interessieren und zwar direkt nach dem hängen.

Außerdem wäre interessant was hängen bedeutet. Ist die Web Oberfläche nicht erreichbar, kann noch über externe Taster geschalten werden, werden Automatisierungen noch ausgeführt? Wie ist die CPU Auslastung mittels top und/oder ps ax

Bisher ist das alles mehr wie schwammig hier.
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

Marlen

Hängen bedeutet, ich habe https://forum.fhem.de/index.php/topic,25110.0.html installiert. Und das dann eben FHEM neu startet.

Deshalb schaut das log dann so aus:
019.09.16 19:41:47 3: ESPEasy A_2_Heizung: set A_2_Heizung gpio 14 off
Watchdog: kill hanging fhem pid=32421:
Starting fhem...
2019.09.16 19:51:23 1: reload: Error:Modul 99_FHEMwatch_Utils deactivated:

2019.09.16 19:51:23 1: Including fhem.cfg
2019.09.16 19:51:23 3: telnetPort: port 7072 opened
2019.09.16 19:51:24 3: WEB: port 8083 opened
2019.09.16 19:51:24 2: eventTypes: loaded 0 events from ./log/eventTypes.txt
2019.09.16 19:51:25 3: TelegramBot_Define teleBot: called
2019.09.16 19:51:25 3: Opening nanoCUL device /dev/serial/by-id/usb-SHK_NANO_CUL_868-if00-port0
2019.09.16 19:51:25 3: Setting nanoCUL serial parameters to 38400,8,N,1
2019.09.16 19:51:28 3: nanoCUL: Possible commands: ABCEeFfGhiKklMmRTtUVWXxYZz
2019.09.16 19:51:28 3: nanoCUL device opened
2019.09.16 19:51:28 2: Switched nanoCUL rfmode to HomeMatic
2019.09.16 19:51:30 3: Opening CallMonitor device 192.168.178.1:1012
2019.09.16 19:51:30 3: WEBhook: port 8088 opened
2019.09.16 19:51:31 3: Heating_Control is deprecated, use WeekdayTimer instead!
2019.09.16 19:51:31 3: Heating_Control is deprecated, use WeekdayTimer instead!
2019.09.16 19:51:31 3: [Heizung_Programm_Winter] device <A_2_Heizung> in fhem not defined, but accepted
2019.09.16 19:51:31 3: Heating_Control is deprecated, use WeekdayTimer instead!


LG
  Marlen

bartman121

Steht doch alles im log, dein watchdog killt fhem, weil das file nicht regelmäßig geschrieben wird (deactivated).

Du musst zuerst den watchdog deaktivieren, dann das fhem_watchdog_utils reparieren.


CoolTux

Wie schön das wir nun wissen was hängen bedeutet.
Installiere das halt vorerst einfach nicht.
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

Marlen

Zitat von: bartman121 am 16 September 2019, 20:20:24
Steht doch alles im log, dein watchdog killt fhem, weil das file nicht regelmäßig geschrieben wird (deactivated).

Du musst zuerst den watchdog deaktivieren, dann das fhem_watchdog_utils reparieren.

Achso, aber was soll ich denn da reparieren?
sub fhem_not()
{
Wd_exec();
# alte watchdogs vorsichtshalber löschen
my $ret = `ps | grep watchdog.pl`;
my @lines = split("\n",$ret);
my @retval;
foreach my $l (@lines)
{
if($l =~m/.*perl watchdog.pl.*/)
{
my ($wpid) = split(' ',$l);
push(@retval,"killed: ".$l);
$l = `kill -9 $wpid`;
} # if watchdog
} # end foreach
Log(1,join("\n",@retval));
# und neu starten

system("./startwatchdog&");
} # end sub fhem_not

sub Wd_exec()
{
my $filename = ">./watchdog.log";
my $pid = getpid();
if (open (WATCHDOGFILE,$filename))
{
printf (WATCHDOGFILE "%d\t%d\n%s",time(),$pid,TimeNow());
close WATCHDOGFILE;
}
return undef;
} # end sub Wd_exec


...schaut doch gut aus, oder?
Wenn das nicht funktionieren würde, würde es doch alle 10 Min. FHEM killen, oder nie.....oder???

CoolTux

Der systemd hat einen eigenen watchdog. Schalte Deinen einfach aus.
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

Marlen

Und was muss ich dann bei systemd machen?


CoolTux

Zitat von: Marlen am 16 September 2019, 21:18:21
Und was muss ich dann bei systemd machen?

Nichts. Sobald FHEM abstürzt startet der systemd fhem neu.
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

Marlen

Aha, ist das neu?
Vor ca. 1,5 Jahren ging das aber noch nicht, deswegen hab ich das ja installiert.

Otto123

Zitat von: Marlen am 16 September 2019, 21:18:21
Und was muss ich dann bei systemd machen?
Am Besten schauen, dass Du es aktuell wirklich verwendest.  ;)

Querverweis: https://forum.fhem.de/index.php/topic,101819.msg974360.html#msg974360
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz