FHEM startet nicht - Tipps zur Fehlersuche

Aus FHEMWiki
Version vom 20. Juli 2017, 10:58 Uhr von CoolTux (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= 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?…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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.