system.Exec - CMD_EXEC

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Antworten
ThomasK
Beiträge: 4
Registriert: 06.02.2013, 21:13

system.Exec - CMD_EXEC

Beitrag von ThomasK » 06.02.2013, 21:35

hallo,
wie schon im homematic-inside - Forum erwähnt, finde ich die Idee super, das problematische system.exec durch CMD_EXEC zu ersetzen.
Wenn aber in kurzer Zeit viele tcl-Skripte über CMD_EXEC aufgerufen werden, dann gibt es Probleme - vermutlich in der Prozessverwaltung des CUx-D. Ich vermute, der CUx-D wartet auf das Ende der Prozesse und bekommt das nicht richtig mit (irgendwann hat der CUx-D sehr viele Prozesse offen, deren ID ständig hochzählt; es gibt eine Wahrscheinlichkeit, dass bei weiteren CMD_EXEC die Zahl der Prozesse steigt und irgendwann führt dies dann zum Absturz).
Ich habe jetzt weiteres herausgefunden: Wenn ich nicht zu viele CMD_EXEC auf einmal absetze (also nicht alle in einem homematic-Skript ausführe), und dies stattdessen auf mehrere Skripte verteile, die zu unterschiedlichen Zeiten laufen, dann läuft CMD_EXEC wesentlich stabiler.
Bei nicht mehr als 4 - 6 Skripten pro Minute und einer geringen Wahrscheinlichkeit, dass es nur sporadisch mehr werden (leider kenne ich im homematic-Skript keine Möglichkeit, eine mutex einzurichten), dann läuft der CUx-D wochenlang stabil (Nach 3 Wochen hatte ich 10 offene Prozesse).
Das Problem hängt also mit dem massiven Auftreten von CMD-EXEC zusammen. Habe einen cron-job eingerichtet, der den CUxD neu bootet, wenn er mehr als 10 Kindprozesse hat. Es gab in 4 Wochen nur 1 Totalhänger des CUxD (Prozess war ganz weg).

So läuft es jetzt viel stabiler als mit system.exec.
Gruß und Danke
Thomas

Benutzeravatar
uwe111
Beiträge: 4820
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 246 Mal
Kontaktdaten:

Re: system.Exec - CMD_EXEC

Beitrag von uwe111 » 06.02.2013, 23:54

Hallo Thomas,

vielleicht hilft es irgendwie weiter, wenn Du das CUxD-LOGFILE zur Fehlersuche aktivierst.
Die system.exec Aufrufe sollten sogar mit LOGLEVEL=0 aufgezeichnet werden.
Ist nur so eine Idee...

Viele Grüße,

Uwe.
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

Antworten

Zurück zu „CUxD“