FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: gestein am 24 April 2019, 11:44:18

Titel: fhem: Anzahl der Prozesse
Beitrag von: gestein am 24 April 2019, 11:44:18
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
Titel: Antw:fhem: Anzahl der Prozesse
Beitrag von: Wernieman am 24 April 2019, 12:10:04
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 ...
Titel: Antw:fhem: Anzahl der Prozesse
Beitrag von: gestein am 24 April 2019, 13:25:14
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
Titel: Antw:fhem: Anzahl der Prozesse
Beitrag von: gestein am 24 April 2019, 13:29:49
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
Titel: Antw:fhem: Anzahl der Prozesse
Beitrag von: CoolTux am 24 April 2019, 13:52:45
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.
Titel: Antw:fhem: Anzahl der Prozesse
Beitrag von: gestein am 24 April 2019, 14:19:11
'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
Titel: Antw:fhem: Anzahl der Prozesse
Beitrag von: CoolTux am 24 April 2019, 14:27:54
Eine Logausgabe von FHEM oder schau mal im Eventmonitor von FHEM was da so ab geht pro Sekunde.
Titel: Antw:fhem: Anzahl der Prozesse
Beitrag von: Wernieman am 24 April 2019, 15:10:30
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"
Titel: Antw:fhem: Anzahl der Prozesse
Beitrag von: gestein am 28 April 2019, 00:35:23
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