Hallo zusammen,
nach einem Neustart von fhem läuft alles ganz normal, doch nach einige Zeit (ein paar Stunden) ist fhem über die Weboberfläche nicht mehr erreichbar. Der Raspi auf dem es läuft ist aber weiterhin ganz normal per ssh erreichbar.
Ein sudo /etc/init.d/fhem
stop bringt nichts, fhem stoppt nicht. Erst nach einem freundlichen kill -9 kann ich fhem restarten.
Ist jemandem der Fehler bekannt?? Ich habe das log jetzt auf verbose 5 gestellt...aber vielleicht hat ja jemand eine Lösung?!
Hatte ich auch schon. Kann aber viele Ursachen haben....
Ein Logauszug sollte Erleuchtung bringen. Außerdem die Logfiles beobachten, was sich dort noch tut. Ein "dmesg" könnte einen Systemfehler verraten.
Viel Glück
Markus
Und vor einen Kil, mal schauen, was fhem denn machjt ..
z.B. "ps aux | grep fhem", oder eben die erwähnten Logfiles (System, FHEM, dmesg etc.)
Einfach mehr Infos bitte .. so kann es vieles sein.
ein ps gibt im Fehlerfall
fhem 985 1 0 Oct09 ? 00:00:00 /lib/systemd/systemd --user
fhem 992 985 0 Oct09 ? 00:00:00 (sd-pam)
fhem 1075 1 0 Oct09 ? 00:03:08 homebridge
fhem 17921 20258 0 02:59 ? 00:00:09 perl fhem.pl fhem.cfg
fhem 20258 1 0 Oct17 ? 00:04:17 perl fhem.pl fhem.cfg
fhem 20278 20258 0 Oct17 ? 00:00:00 perl fhem.pl fhem.cfg
pi 29702 29685 0 06:42 pts/0 00:00:00 grep --color=auto fhem
wenn ich die drei Prozesse perl fhem.pl fhem.cfg mit kill -9 entsorge, danach FHEM stoppe und starte ist alles wieder ganz normal.
ein ps -ef zeigt dann
hem 985 1 0 Oct09 ? 00:00:00 /lib/systemd/systemd --user
fhem 992 985 0 Oct09 ? 00:00:00 (sd-pam)
fhem 1075 1 0 Oct09 ? 00:03:08 homebridge
fhem 29796 1 11 06:43 pts/0 00:00:17 perl fhem.pl fhem.cfg
fhem 29810 29796 0 06:43 pts/0 00:00:00 perl fhem.pl fhem.cfg
pi 29928 29685 0 06:45 pts/0 00:00:00 grep --color=auto fhem
Ursache scheint demnach ein Prozess perl fhem.pl fhem.cfg
zu sein
So schlimm sieht es gar nicht aus ... hört fhem überhaupt noch auf dem port?
als root bitte:
netstat -lntp | grep perl
und "perl fhem.pl fhem.cfg" ist übrigens fhem.
Heute mal geschaut mit folgendem Ergebnis:
pi@raspberrypi ~ $ ps -ef|grep fhem
fhem 674 32188 0 02:59 ? 00:00:09 perl fhem.pl fhem.cfg
fhem 985 1 0 Oct09 ? 00:00:00 /lib/systemd/systemd --user
fhem 992 985 0 Oct09 ? 00:00:00 (sd-pam)
fhem 1075 1 0 Oct09 ? 00:03:33 homebridge
pi 14563 14041 0 07:22 pts/0 00:00:00 grep --color=auto fhem
fhem 32188 1 0 Oct18 ? 00:09:38 perl fhem.pl fhem.cfg
fhem 32203 32188 0 Oct18 ? 00:00:00 perl fhem.pl fhem.cfg
pi@raspberrypi ~ $ sudo netstat -lntp | grep perl
tcp 0 0 127.0.0.1:42472 0.0.0.0:* LISTEN 32188/perl
tcp 0 0 0.0.0.0:8083 0.0.0.0:* LISTEN 32188/perl
tcp 0 0 0.0.0.0:8084 0.0.0.0:* LISTEN 32188/perl
tcp 0 0 0.0.0.0:8085 0.0.0.0:* LISTEN 32188/perl
tcp 0 0 0.0.0.0:7072 0.0.0.0:* LISTEN 32188/perl
Der Webserver ist nicht mehr erreichbar wenn dieser Prozess startet
fhem 32203 32188 0 Oct18 ? 00:00:00 perl fhem.pl fhem.cfg
Dh wenn FHEM gestartet wird laufen zwei Prozesse perl fhem.pl fhem.cfg
Dann irgendwann wird ein neuer Prozess perl fhem.pl fhem.cfg
gestartet der dann alles lahm legt.
1. Anstatt "ps ef" bitte "ps aux" ... nur dann bekommst Du auch die CPU-Belastung ... oder gleich mit
ps ux -C perl
2. perl fhem.pl fhem.cfg sind die FHEM-prozesse und das es mehr als eines ist, dürfte am "Non-Blocking" liegen.
Kannst Dir ja mal anschauen mit pstree ... oder mal folgendes Probieren:
ps u -H -C perl
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
fhem 1677 0.8 1.0 181096 88648 ? S Okt13 97:43 /usr/bin/perl fhem.pl fhem.cfg
fhem 1797 0.0 1.0 179284 81760 ? S Okt13 0:00 /usr/bin/perl fhem.pl fhem.cfg
fhem 1799 0.2 1.0 183240 85108 ? S Okt13 30:25 /usr/bin/perl fhem.pl fhem.cfg
fhem 1800 0.4 1.0 182844 84716 ? S Okt13 48:31 /usr/bin/perl fhem.pl fhem.cfg
Hier siehst Du, das bei mir 1 FHEM-Thread startet, der 3 Zusätzliche Prozesse für "Non-Blocking" startet. Das alles ist normal und so gewünscht. Nach deiner Beschreibung (und viel Glaskugelleserei) spinnt dann einer der "Non-Blocking" ... aber dazu brauchen wir die genaue CPU-Belastung.