Ich vermute auch das es entweder vom tclrega oder tclrpc Modul kommt. Allerdings kann ich dir zumindest sagen das in beiden keinerlei eigener fork() gemacht wird oder ähnliches. Allerdings kann es in der Tat so sein, dass wenn die "xmlrpc" oder "rega_script" Methode aus irgendwelchen Gründen nicht "zurückkehrt" (weil XMLRPC oder ReGa nicht verfügbar ist) dann kann das ganze hier mitunter schon blockieren. Und da check_mk eben in gewissen Intervallen alle system abfragt werden es im Endeffekt immer mehr und mehr solcher tclsh Prozesse. Kannst du vielleicht irgendein Prozesscheck ganz am Anfang des check_mk Skriptes einbauen das nach einem Lockfile checkt oder so und dann ggf. erst gar nicht das check_mk Skript ausführt wenn es noch läuft?!?
Tausende tclsh threads
Moderatoren: jmaus, Co-Administratoren
- jmaus
- Beiträge: 9862
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 464 Mal
- Danksagung erhalten: 1880 Mal
- Kontaktdaten:
Re: Tausende tclsh threads
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
- deimos
- Beiträge: 5396
- Registriert: 20.06.2017, 10:38
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Leimersheim
- Hat sich bedankt: 121 Mal
- Danksagung erhalten: 957 Mal
- Kontaktdaten:
Re: Tausende tclsh threads
Hi,
Viele Grüße
Alex
Nope, das ist ein Daemon und der läuft durch und forked keine tclsh Prozesse.jmaus hat geschrieben: ↑22.10.2018, 13:31Ich vermute auch das es entweder vom tclrega oder tclrpc Modul kommt. Allerdings kann ich dir zumindest sagen das in beiden keinerlei eigener fork() gemacht wird oder ähnliches. Allerdings kann es in der Tat so sein, dass wenn die "xmlrpc" oder "rega_script" Methode aus irgendwelchen Gründen nicht "zurückkehrt" (weil XMLRPC oder ReGa nicht verfügbar ist) dann kann das ganze hier mitunter schon blockieren. Und da check_mk eben in gewissen Intervallen alle system abfragt werden es im Endeffekt immer mehr und mehr solcher tclsh Prozesse. Kannst du vielleicht irgendein Prozesscheck ganz am Anfang des check_mk Skriptes einbauen das nach einem Lockfile checkt oder so und dann ggf. erst gar nicht das check_mk Skript ausführt wenn es noch läuft?!?
Viele Grüße
Alex
- deimos
- Beiträge: 5396
- Registriert: 20.06.2017, 10:38
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Leimersheim
- Hat sich bedankt: 121 Mal
- Danksagung erhalten: 957 Mal
- Kontaktdaten:
Re: Tausende tclsh threads
Hi,
Kannst du bitte mal schauen, was kommt, wenn du dich per SSH einloggst und den Befehl
ausführst?
Viele Grüße
Alex
hauwech hat geschrieben: ↑22.10.2018, 13:26Ohne reboot: alle wilden tclsh Prozesse sind weg!
In /var/log/messages stehen (vor der Deinstallation) viele Einträge wie:Code: Alles auswählen
Oct 22 11:28:02 homematic-raspi user.notice root: check_mk_agent - couldn't execute "ip": no such file or directory
Kannst du bitte mal schauen, was kommt, wenn du dich per SSH einloggst und den Befehl
Code: Alles auswählen
ip link
Viele Grüße
Alex
Re: Tausende tclsh threads
Code: Alles auswählen
# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether b8:27:eb:4d:46:0c brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
link/ether b8:27:eb:18:13:59 brd ff:ff:ff:ff:ff:ff
- jmaus
- Beiträge: 9862
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 464 Mal
- Danksagung erhalten: 1880 Mal
- Kontaktdaten:
Re: Tausende tclsh threads
Also hier existiert das und geht auch:deimos hat geschrieben: ↑22.10.2018, 13:50Kannst du bitte mal schauen, was kommt, wenn du dich per SSH einloggst und den Befehlausführst?Code: Alles auswählen
ip link
Code: Alles auswählen
# which ip
/sbin/ip
# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq qlen 1000
link/ether XX:XX:XX.XX.XX brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
link/ether XX:XX.XX.XX.XX.XX brd ff:ff:ff:ff:ff:ff
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
- deimos
- Beiträge: 5396
- Registriert: 20.06.2017, 10:38
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Leimersheim
- Hat sich bedankt: 121 Mal
- Danksagung erhalten: 957 Mal
- Kontaktdaten:
Re: Tausende tclsh threads
Hi,
klingt nach sowas. Nur wie kommt da ein falscher Pfad in einen laufenden Prozess? Und Die dokumentierten Methoden um Zombies beim Fork von Socket zu verhinden (das catch mit schließen vom Channel) scheinen bei der alten Version von TCL wohl noch nicht angekommen zu sein.
Viele Grüße
Alex
klingt nach sowas. Nur wie kommt da ein falscher Pfad in einen laufenden Prozess? Und Die dokumentierten Methoden um Zombies beim Fork von Socket zu verhinden (das catch mit schließen vom Channel) scheinen bei der alten Version von TCL wohl noch nicht angekommen zu sein.
Viele Grüße
Alex
-
- Beiträge: 494
- Registriert: 29.04.2014, 18:38
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 9 Mal
Re: Tausende tclsh threads
Hallo
und gleich mal sorry aber ich kann gerade nicht anders.
/* sarkasmus on
so ein kleiner lieber Zombie Prozess ist doch gar nicht schlimm. Verbraucht keine Ressourcen tut keinen Weh. Also was soll es last sie doch einfach Leben Problem erledigt.
sarkasmus off */
Jetzt meine Meinung dazu.
Schön wäre es wenn man auch mal eine ps Ausgabe gesehen hätte. Ich möchte aber auch noch mal an dieses Problem erinnern.
https://github.com/jens-maus/RaspberryMatic/issues/316
Ein Cronjob erzeugt sogar einen Zombie der 8-10 Sekunden läuft. Aber jedes tcl sh oder sonst was Script erzeugt DEFINITIV einen Zombie.
Das es dann auch mal Zombies gibt die nicht mehr weg gehen kennen wir doch schon. So lange das so ist ist es ein Kampf gegen Windmühlen.
Der wo jetzt durch welches Script auch immer einen Zombie erzeugt, hat halt verloren und muß Nachsitzen und sein Script ändern.
Gruß
Bulli
UND BEVOR JETZT WIEDER EIN MISTER X KOMMT UND AUF SCHÜRREN MACHT DAS WAR SCHON VOR jmaus SO.
und gleich mal sorry aber ich kann gerade nicht anders.
/* sarkasmus on
so ein kleiner lieber Zombie Prozess ist doch gar nicht schlimm. Verbraucht keine Ressourcen tut keinen Weh. Also was soll es last sie doch einfach Leben Problem erledigt.
sarkasmus off */
Jetzt meine Meinung dazu.
Schön wäre es wenn man auch mal eine ps Ausgabe gesehen hätte. Ich möchte aber auch noch mal an dieses Problem erinnern.
https://github.com/jens-maus/RaspberryMatic/issues/316
Ein Cronjob erzeugt sogar einen Zombie der 8-10 Sekunden läuft. Aber jedes tcl sh oder sonst was Script erzeugt DEFINITIV einen Zombie.
Das es dann auch mal Zombies gibt die nicht mehr weg gehen kennen wir doch schon. So lange das so ist ist es ein Kampf gegen Windmühlen.
Der wo jetzt durch welches Script auch immer einen Zombie erzeugt, hat halt verloren und muß Nachsitzen und sein Script ändern.
Gruß
Bulli
UND BEVOR JETZT WIEDER EIN MISTER X KOMMT UND AUF SCHÜRREN MACHT DAS WAR SCHON VOR jmaus SO.
- deimos
- Beiträge: 5396
- Registriert: 20.06.2017, 10:38
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Leimersheim
- Hat sich bedankt: 121 Mal
- Danksagung erhalten: 957 Mal
- Kontaktdaten:
Re: Tausende tclsh threads
Hi,
@Bulli: Triggerst du einfach immer wenn Zombieund CCU in einem Post vorkommt, egal ob es Sinn macht und ohne den ganzen Thread gelesen zu haben?
Dank dem Log sieht man, dass die Rega sehr wahrscheinlich unschuldig an den Zombies ist.
Viele Grüße
Alex
@Bulli: Triggerst du einfach immer wenn Zombieund CCU in einem Post vorkommt, egal ob es Sinn macht und ohne den ganzen Thread gelesen zu haben?
Dank dem Log sieht man, dass die Rega sehr wahrscheinlich unschuldig an den Zombies ist.
Viele Grüße
Alex
-
- Beiträge: 494
- Registriert: 29.04.2014, 18:38
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 9 Mal
Re: Tausende tclsh threads
Hallo
ich habe alles gelesen sogar issues/2. Warum schreibe ich den letzten Satz groß!? Habe doch auch geschrieben das jedes Script auf jeden Fall einen Zombie erzeugt. Sprich ohne Rega auch ein Shell Script erzeugt einen Zombie. Wenn der jetzt bei einigen/wenigen User dauerhaft bleibt ist es für diese User ein Problem weil die Prozesstable(ulimit -u) voll läuft.
Wir haben doch jetzt schon öfter gesehen das es vor kommt.Wie zum Beispiel hier.
viewtopic.php?f=65&t=43359 (ok da ist die Rega dabei aber was soll es)
Du kannst nur indirekt etwas dafür. So lange das Problem nicht an der Wurzel beseitigt wird.
@deimos wie ist eigentlich deine Meinung zum Cronjob Zombie? Kann ich was für mein cronjobs die Zombies erzeugen?
Gruß
Bulli