Hallo,
seit ein paar Tagen, läuft mein fhem leider sehr unrund, braucht nach einem Reboot lange zum Starten und reagiert sehr langsam auf Aufrufe der Weboberfläche.
Dazu hätte ich eine Frage zu den Prozessen von fhem.
Ich dachte immer, fhem läuft in einem Prozess.
Aber ein "ps -ax" auf meinem Raspberry ergibt folgendes:
605 ? R 45:16 perl fhem.pl fhem.cfg
863 pts/0 S+ 0:00 tail -f /opt/fhem/log/fhem-2019-04-24.log
888 ? Ss 0:00 perl fhem.pl fhem.cfg
5483 ? S 0:00 perl fhem.pl fhem.cfg
5550 ? S 0:00 perl fhem.pl fhem.cfg
5554 pts/2 S+ 0:00 grep --color=auto fhem
Sieht man mit "ps -ax" immer so viele Prozesse?
Wenn fhem beschäftigt ist, dann erscheinen da auch schon mal 10 Prozesse.
Ein "top" zeigt dann schon mal folgendes:
top - 11:41:36 up 1:15, 3 users, load average: 2.31, 2.20, 2.15
Tasks: 117 total, 5 running, 112 sleeping, 0 stopped, 0 zombie
%Cpu(s): 81.2 us, 16.4 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 2.5 si, 0.0 st
KiB Mem: 444536 total, 304268 used, 140268 free, 4564 buffers
KiB Swap: 102396 total, 30224 used, 72172 free. 42676 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
605 fhem 20 0 119420 109612 5080 R 63.2 24.7 50:56.99 perl
6895 fhem 20 0 119420 107932 3396 R 10.3 24.3 0:02.01 perl
604 root 20 0 33176 4832 3408 S 10.0 1.1 7:29.00 lepresenced
6900 fhem 20 0 119420 107176 2644 R 6.2 24.1 0:00.20 perl
397 avahi 20 0 4120 2372 2052 S 2.5 0.5 0:32.16 avahi-daemon
6841 pi 20 0 5108 2368 1960 R 2.5 0.5 0:01.37 top
700 root 20 0 111620 22884 3448 S 0.9 5.1 0:48.50 collectord
772 root 20 0 2364 1132 1080 R 0.9 0.3 0:34.68 hcidump
Ist das normal?
Im log-file selbst sehe ich nichts Außergewöhliches - außer, dass der fhem halt langsam ist.
Danke für jeden Hinweis.
lg, Gerhard
Gucke doch mal mit pstree nach ...
Dürften die "NonBlocking"-Teile von FHEM sein .. welche aber gerade FHEM nicht langsamer machen sollten.
Was mich jetzt aber richtgi wundert:
1. Was ist es für ein System, auf den Dein FHEM läuft
2. 80% der CPU-Last geht auf FHEM?
3. lepresenced braucht 10% CPU-Last ...
Also wirklich mal schauen, was denn so in Deinem FHEM läuft .. eventuell auch mal nach den Events (Anzahl) schauen ...
ein "pstree -p" ergibt folgendes:
systemd(1)─┬─agetty(780)
├─apache2(808)─┬─apache2(813)
│ ├─apache2(814)
│ ├─apache2(815)
│ ├─apache2(816)
│ └─apache2(817)
├─avahi-daemon(397)───avahi-daemon(402)
├─bluetoothd(403)
├─collectord(700)─┬─{collectord}(918)
│ ├─{collectord}(919)
│ ├─{collectord}(920)
│ ├─{collectord}(921)
│ ├─{collectord}(922)
│ ├─{collectord}(923)
│ ├─{collectord}(924)
│ ├─{collectord}(925)
│ ├─{collectord}(926)
│ └─{collectord}(927)
├─cron(399)
├─dbus-daemon(405)
├─dhcpcd(696)
├─homebridge(786)─┬─{V8 WorkerThread}(791)
│ ├─{V8 WorkerThread}(792)
│ ├─{V8 WorkerThread}(793)
│ ├─{V8 WorkerThread}(794)
│ ├─{homebridge}(1247)
│ ├─{homebridge}(1248)
│ ├─{homebridge}(1249)
│ ├─{homebridge}(1250)
│ ├─{homebridge}(1257)
│ └─{node}(856)
├─lepresenced(604)─┬─hcidump(772)
│ ├─hcitool(739)
│ ├─{lepresenced}(736)
│ └─{lepresenced}(770)
├─nmbd(832)
├─ntpd(761)
├─perl(605)───perl(888)
├─proftpd(783)
├─rsyslogd(401)─┬─{in:imklog}(410)
│ ├─{in:imuxsock}(409)
│ └─{rs:main Q:Reg}(411)
├─smbd(859)───smbd(861)
├─sshd(733)───sshd(1012)───sshd(1018)───bash(1020)───pstree(16059)
├─systemd(768)───(sd-pam)(778)
├─systemd-journal(116)
├─systemd-logind(424)
├─systemd-udevd(117)
└─thd(466)
Jetzt laufen auch gerade nur 2 fhem:
ps -ax | grep fhem
605 ? S 102:29 perl fhem.pl fhem.cfg
888 ? Ss 0:00 perl fhem.pl fhem.cfg
16130 pts/2 S+ 0:00 grep --color=auto fhem
Werde mal das lepresenced und collector deaktivieren.
lg, Gerhard
Nach dem Stoppen von lepresenced und collectord schaut ein top so aus:
top - 13:28:30 up 3:02, 1 user, load average: 1.09, 1.72, 1.97
Tasks: 104 total, 3 running, 101 sleeping, 0 stopped, 0 zombie
%Cpu(s): 78.5 us, 18.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 3.5 si, 0.0 st
KiB Mem: 444536 total, 288060 used, 156476 free, 15040 buffers
KiB Swap: 102396 total, 48664 used, 53732 free. 72556 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
605 fhem 20 0 121736 103240 4564 R 68.6 23.2 106:54.75 perl
16907 fhem 20 0 121736 102068 3376 R 9.2 23.0 0:01.16 perl
16912 fhem 20 0 121736 101268 2580 S 4.1 22.8 0:00.24 perl
16788 pi 20 0 5108 2456 2056 R 2.2 0.6 0:03.37 top
16919 fhem 20 0 2200 1240 1124 S 1.3 0.3 0:00.04 hcitool
786 pi 20 0 130048 20124 6744 S 0.6 4.5 1:11.38 homebridge
1018 pi 20 0 9500 2736 2036 S 0.6 0.6 0:09.34 sshd
3 root 20 0 0 0 0 S 0.3 0.0 0:20.38 ksoftirqd/0
lg, Gerhard
Du hast aber immer noch nicht verraten was es genau für ein System ist. 68% für Perl ist solange nur FHEM darauf läuft einfach viel zu viel.
'Tschulidgung:
cat /etc/*-release
PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"
NAME="Raspbian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
uname -a
Linux raspberrypi 4.9.35+ #1014 Fri Jun 30 14:34:49 BST 2017 armv6l GNU/Linux
Läuft auf einem Raspberry 3.
Welche Info wäre denn noch hilfreich?
lg, Gerhard
Eine Logausgabe von FHEM oder schau mal im Eventmonitor von FHEM was da so ab geht pro Sekunde.
Wegen pstree, folgendes als root:
pstree -tca | grep [f]hem
Sieht im Normalfall so aus:
pstree -tca | grep [f]hem
|-perl fhem.pl fhem.cfg
| |-perl fhem.pl fhem.cfg
| |-perl fhem.pl fhem.cfg
| `-perl fhem.pl fhem.cfg
Mann kann auch mit PIDS arbeiten:
pstree -tpsa -h 31822
systemd,1 --system --deserialize 28
└─perl,31822 fhem.pl fhem.cfg
├─perl,13439 fhem.pl fhem.cfg
│ └─ping,13440 -c 4 xxx.yyy.zzz
├─perl,31826 fhem.pl fhem.cfg
├─perl,31841 fhem.pl fhem.cfg
└─perl,31842 fhem.pl fhem.cfg
Ansonsten siehe Tux: "schau mal im Eventmonitor"
Es wurde schon einiges gelogt.
Ich habe nun folgendes ausprobiert.
1.) Devices :
a) ich hatte YAAHM definiert, aber nie wirklich genutzt
b) Alles SONOS-Geräte gelöscht
c) Installer-Device gelöscht
2.) fhem.save gelöscht
3.) DBLog installiert
4.) das System, alle Komponenten und Module upgedatet.
Irgendwie weiß ich nicht, was genau es war. Aber mittlerweile rennt mein fhem wieder einigermaßen - bis auf die HM-LC-SW4-DR von Homematic (aber das ist ein anderes Thema).
"top" zeigt zwar immer noch fast 60% Auslastung, aber immerhin läuft wieder alles.
Das alles ist sehr sehr eigenartig.
Die Fehlersuche frisst aber einfach zu viel Zeit.
Danke für Eure Tipps und Hilfe!
lg, Gerhard