Hallo!
Gibt es für den yaVDR einen Watchdog. Und wenn ja, wo finde ich ihn bzw. wie kann ich ihn einstellen?
Hallo!
Gibt es für den yaVDR einen Watchdog. Und wenn ja, wo finde ich ihn bzw. wie kann ich ihn einstellen?
Was meinst Du genau? Der VDR der unter yaVDR läuft hat nen Watchdog. Wenn der VDR abstürzen sollte, wird der (meistens) nach einer Minute neu gestartet.
Claus
ok, eigentlich hast Du meine Frage damit schon beantwortet. Kann man die Zeit auch auf 30 Sekunden einstellen, oder ist das nicht sinnvoll?
Theoretisch ja, nur habe ich die Erfahrung gemacht, dass sobald ich die Zeit auf weniger als 60 Sekunden einstelle, der Watchdog bereits nach einigen Sekunden normalen Betriebes anspricht.
Womit ich die Frage an die Experten weitergeben möchte: Wieso darf man den Watchdog nicht auf einen Wert kleiner 60 Sekunden einstellen?
Claus
Und WO würde man ihn einstellen?
/etc/default/vdr , ich meine -w 60 dürfte da per default drin stehen in OPTIONS ziemlich am Ende der Datei.
was ist denn dieser wachung genau ? schaut der nur nach ob der vdr läuft bzw startet den vdr neu wenner sich veraschiedet hat ?
Der überprüft (wie auch immer) ob der VDR nöch reagiert, und beendet ihn, wenn der VDR hängen sollte. Um den (sofern gewünscht) neustart, muss sich z.B. das runvdr Script kümmern.
Claus
Der überprüft (wie auch immer) ob der VDR nöch reagiert
Der VDR setzt nen Timer um in X Sekunden die Exit Funktion aufzurufen. Und dieser Timer wird ständig zurückgesetzt. Kommt der VDR nicht mehr zum zurücksetzen...
Weniger als 60 Sekunden ist keine gute Idee. Denn wenn man z.B. über die commands.conf nen Script startet wartet der VDR darauf das es endet, in dieser Zeit setzt der VDR den Timer nicht zurück. Steht der Watchdog also auf 10 Sekunden und das Script braucht 11 Sekunden...
cu
Die Frage die sich mir stellt ist warum man meint den Watchdog zu brauchen.
Üblicherweise schlägt er an wenn die DVB Treiber keine Daten mehr liefern, so das durch den Neustart die Treiber neu geladen werden und somit wieder einen funktionierenden Zustand bekommen.
Die Treiber die das betrifft sind inzwischen nahe null. Meines Erachtens nach haben wir den watchdog/VDR Neustart auf 0 (also aus) gesetzt, da dies aktuell für die meisten keinen Sinn mehr macht.
Der VDR selber braucht keinen Watchdog - sollte sich der VDR (warum auch immer, z.B. ein Segfault) beenden wird dieser sofort durch upstart (Ubuntus Ersatz für die Init-Skripts) neu gestartet.
Bei Einfrieren des Frontends läuft meistens der VDR noch normal weiter - hier müsste man eine neue Diskussion anstossen.
Üblicherweise schlägt er an wenn die DVB Treiber keine Daten mehr liefern, so das durch den Neustart die Treiber neu geladen werden und somit wieder einen funktionierenden Zustand bekommen.
Nein, DAS ist der Notausstieg. Das ist ja was anderes als der Watchdog.
Der Watchdog ist dafür da wenn irgendwo irgendwas zu lange hängt. Und es kommt durchaus vor das aufgrund eines nicht abgefangenen Fehlers irgendwo Code einfriert. Bei mir z.B. gerne mal wenn ich zu viele Schnitte gleichzeitig starte. In der Schnittwarteschlange ist mein VDR etwas wackelig.
Wobei es auch vorkommt das der VDR so einfriert das der VDR Watchdog auch nicht mehr triggert. Dafür kann man nen externen Watchdog (nen Shellscript was alle X Minuten mal schaut ob der VDR noch lebt) vorschalten.
Wobei es durchaus vorkommt dann das gesamte System einfriert (z.B. fürt bei mir so ca. 1x im Monat nen OSD Aufruf dazu das das System komplett einfriert (nur >4s Power hilft)). Für diesen Fall hätte ich gerne nen Hardware Watchdog (Hatte ich ja bei yaUsbIR mal angefragt ob das mit eingebaut werden kann).
cu
Oft erhängt sich der VDR ja wirklich nicht mehr, nur leider greift in solchen Fällen der Watchdog auch nur jedes zweite mal. Von daher hätte ich auch gerne nen externen Watchdog, der den VDR dann abschießen würde. Ich muss jedoch zugeben, dass ich nicht sicher bin ob's in diesen seltenen Fällen nicht doch nur das Frontend war, das eingefroren ist.
Was bleibt, ist meine anfängliche Frage: Warum darf man den Watchdog timer nicht auf nen Wert kleiner als 60 Stellen. Bei allen meinen Tests führte das schon nach wenigen Sekunden zum Neustart des VDRs. Ich würde den gerne auf 5 oder 10 Sekunden runter stellen, da ich keine Scripte laufen habe, die den VDR längere Zeit blockieren, und somit der VDR bei bedarf deutlich schneller wieder verfügbar wäre.
Interessanter Weise, schlug der Watchdor beim Rasperry Pi selbst bei nem Wert von 60 häufig recht schnell zu, weshalb ich den dort ganz abschalten musste.
Claus
Was bleibt, ist meine anfängliche Frage: Warum darf man den Watchdog timer nicht auf nen Wert kleiner als 60 Stellen. Bei allen meinen Tests führte das schon nach wenigen Sekunden zum Neustart des VDRs. Ich würde den gerne auf 5 oder 10 Sekunden runter stellen, da ich keine Scripte laufen habe, die den VDR längere Zeit blockieren, und somit der VDR bei bedarf deutlich schneller wieder verfügbar wäre.
Interessanter Weise, schlug der Watchdor beim Rasperry Pi selbst bei nem Wert von 60 häufig recht schnell zu, weshalb ich den dort ganz abschalten musste.
Gibt es in deinem Logfile Einträge der Form "max. latency time xx seconds"?
Wenn ja, welche Werte hat denn da "xx"?
Und was passiert ggf. unmittelbar davor?
Klaus
Wobei es durchaus vorkommt dann das gesamte System einfriert (z.B. fürt bei mir so ca. 1x im Monat nen OSD Aufruf dazu das das System komplett einfriert (nur >4s Power hilft)). Für diesen Fall hätte ich gerne nen Hardware Watchdog (Hatte ich ja bei yaUsbIR mal angefragt ob das mit eingebaut werden kann).
Da ich schon seit Jahren ähnliche Abstürze habe, ohne den Fehler finden zu können - kannst Du mal prüfen ob dieser Absturz mit der Beschreibung in diesem Thread passt? Meine Hilflösung mit HW-Watchdog ist im letzten Post dieses Threads beschrieben. Hoffe nicht zu OT zu sein...
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!