FHEM startet nicht - Tipps zur Fehlersuche
Kein Zugriff auf FHEMWEB / FHEM startet nicht - Was kann ich tun???
Deine FHEMWEB Seite ist nicht erreichbar? Ist FHEM tot, oder ist das Netzwerk kaputt? Was kann ich machen um zu prüfen woran es genau liegt. In diesem Wiki Artikel soll es darum gehen wir Du für Dich prüfen kannst ob ein FHEM / Netzwerk oder ein anderes Problem vorliegt.
Prüfen in wie fern der FHEM Prozess tatsächlich nicht läuft
Man kann sich unter einem Linuxsystem sämtliche laufende Prozesse auflisten lassen
ps ax
Der ps Befehl listet je nach Argument alle laufende Prozesse auf. Die Liste kann man nun noch nach einem bestimmten Prozess filtern.
ps ax | grep perl
cooltux@fhem01-cluster:~> ps ax | grep perl
11320 pts/0 S+ 0:00 grep --color=auto perl
cooltux@fhem01-cluster:~>
Die obrige Ausgabe zeigt ein Prozesslisting mit einem Filter nach perl. Wie wir sehen wird hier lediglich der ps Befehl an sich gefunden. Es ist also kein weiterer Perlprozess gelistet. Hier läuft also definitiv kein FHEM
[11:31 root@fhem01-cluster cooltux] > ps ax | grep perl
15852 ? R 2119:09 /usr/bin/perl fhem.pl configDB
21447 pts/0 S+ 0:00 grep perl
[11:31 root@fhem01-cluster cooltux] >
Hier sehen wie nun wie ein Prozesslisting mit einem laufenden FHEM Prozess aussehen kann.
FHEM ist also aktiv, doch wie sehr ist es aktiv? Eventuell zu aktiv?
Wie kann ich mir anschauen ob der FHEM Prozess vielleicht zu sehr ausgelastet ist, der Prozess also 100 Prozent CPU Auslastung produziert?
Ein weiterer Linuxbefehl wird uns hierbei behilflich sein. top
top - 11:38:18 up 11 days, 18:58, 1 user, load average: 1,07, 1,03, 1,00
Tasks: 125 total, 2 running, 123 sleeping, 0 stopped, 0 zombie
%Cpu(s): 24,9 us, 0,9 sy, 0,0 ni, 74,1 id, 0,0 wa, 0,0 hi, 0,1 si, 0,0 st
KiB Mem: 945524 total, 833532 used, 111992 free, 41552 buffers
KiB Swap: 102396 total, 46564 used, 55832 free. 496240 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15852 fhem 20 0 103652 82160 5068 R 100,0 8,7 2125:41 perl
21683 root 20 0 5740 2560 2092 R 1,0 0,3 0:00.37 top
19129 cooltux 20 0 86204 22348 3668 S 0,3 2,4 64:16.90 insync-portable
21350 cooltux 20 0 11436 2848 2248 S 0,3 0,3 0:00.10 sshd
1 root 20 0 23292 2368 1380 S 0,0 0,3 0:54.23 systemd
2 root 20 0 0 0 0 S 0,0 0,0 0:01.09 kthreadd
3 root 20 0 0 0 0 S 0,0 0,0 3:37.20 ksoftirqd/0
5 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kworker/0:0H
7 root 20 0 0 0 0 S 0,0 0,0 8:20.71 rcu_sched
8 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcu_bh
9 root rt 0 0 0 0 S 0,0 0,0 0:05.45 migration/0
Hier können wir nun eindeutig erkennen, das unser FHEM die CPU mit 100 Prozent auslastet. FHEM hat also ein Problem
Zum Vergleich ein FHEM/Perl Prozess ohne Probleme
top - 11:50:33 up 11 days, 19:10, 1 user, load average: 0,84, 1,03, 1,00
Tasks: 133 total, 1 running, 132 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0,6 us, 0,8 sy, 0,0 ni, 98,6 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st
KiB Mem: 945524 total, 818344 used, 127180 free, 43748 buffers
KiB Swap: 102396 total, 46820 used, 55576 free. 489652 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
22074 fhem 20 0 86424 68516 7200 S 1,3 7,2 0:47.64 perl
22294 root 20 0 5740 2564 2092 R 1,3 0,3 0:00.19 top
22296 fhem 20 0 86424 63556 2240 S 1,3 6,7 0:00.04 perl
22297 fhem 20 0 2088 408 328 S 0,7 0,0 0:00.02 ping
7 root 20 0 0 0 0 S 0,3 0,0 8:21.23 rcu_sched
1366 mysql 20 0 620608 157132 5736 S 0,3 16,6 70:12.59 mysqld
19481 root 20 0 0 0 0 S 0,3 0,0 0:02.35 kworker/3:0
1 root 20 0 23292 2408 1420 S 0,0 0,3 0:54.27 systemd
2 root 20 0 0 0 0 S 0,0 0,0 0:01.09 kthreadd
3 root 20 0 0 0 0 S 0,0 0,0 3:37.42 ksoftirqd/0
5 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kworker/0:0H
Was tun wenn sich gar nichts mehr tut?
Fehleranalyse mit: " fhem mit "attr global logfile -" in der command-Fenster starten, und diesen Fenster nicht schliessen."
- erstelle eine Kopie Deiner fhem.cfg / Bsp.: fhem.cfg.debug
- fhem.cfg.debug editieren, und in der "attr global logfile" Zeile den Dateinamen gegen - (Minuszeichen) tauschen. Dadurch werden die FHEM Ausgaben auf STDOUT (in die Konsole) geschrieben, und FHEM geht nicht in den Hintergrund.
- Terminal/Terminal-Emulator/cmd/etc (das Ding, um Kommandozeilenbefehle einzugeben) öffnen, nach /opt/fhem (bzw. Installationspfad) wechseln (cd /opt/fhem) und FHEM starten (perl fhem.pl fhem.cfg.debug).
- Terminal nicht schliessen, die Meldungen tauchen hier auf.
- Wenn man genug von FHEM hat, dann mit CTRL-C stoppen (d.h. erst CTRL druecken, nicht loslassen, dann C druecken, dann beide loslassen).
Auf die Art ist es Möglich ein wirklich nicht startendes FHEM zu debuggen.