Was ist der „Kanarienfaden“ und warum hungert er?


12

Folgendes erscheint gelegentlich in /var/log/syslog:

rtkit-daemon[1145]: The canary thread is apparently starving. Taking action.
rtkit-daemon[1145]: Demoting known real-time threads.
rtkit-daemon[1145]: Successfully demoted thread 1431 of process 1368 (n/a).
rtkit-daemon[1145]: Successfully demoted thread 1430 of process 1368 (n/a).
rtkit-daemon[1145]: Successfully demoted thread 1368 of process 1368 (n/a).
rtkit-daemon[1145]: Demoted 3 threads.

Was ist denn hier los?


Irgendwelche Fehler in kern.log bezüglich ACPI? Wenn ja: BIOS aufrufen und prüfen, ob eingestellt ACPI power save optionsist Extended. Ändern Sie es in Normal.
Rinzwind

Antworten:


23

Der hier verwendete Begriff "Kanarienvogel" stammt ursprünglich aus dem Kohlebergbau . Bergleute benutzten Kanarienvögel, um gefährliche Gase aufzuspüren (wenn der Kanarienvogel, den sie mit sich führten, starb, wussten sie, dass sie so schnell wie möglich aus dem Schacht / der Mine herauskommen mussten). Infolgedessen wird der Begriff "Kanarienvogel" heutzutage häufig für alles verwendet, was Sie verwenden, um eine (frühe) Warnung vor einer gefährlichen Situation zu erhalten.

In diesem Fall scheint 'rtkit' einen "normalen" Thread zu starten, um zu testen, ob die Threads, die "Echtzeit" -Prioritäten erhalten, andere Threads (& Prozesse) "hungern", wobei "hungern" bedeutet, dass sie zu wenig Prozessorzeit erhalten . Dies ist eine Sicherheitsmaßnahme, um sicherzustellen, dass Prozesse / Threads, die Zugriff auf Echtzeitprioritäten haben, nicht so viel CPU-Zeit verbrauchen, dass andere Aufgaben keine mehr erhalten.

Anscheinend verhalten sich einige Threads, die Echtzeitprioritäten von rtkit erhalten haben, schlecht und versuchen, die CPU zu monopolisieren. Rtkit erkennt dies mit seinem "kanarischen Thread" und rtkit entfernt daher die Echtzeitprioritäten.


-3

Es ist ein Pufferüberlauf

Wikipedia-Pufferüberlaufkanarien

Ich kann anhand der von Ihnen veröffentlichten Protokolle nicht erkennen, wo das Problem liegt. Können Sie Protokolleinträge über und unter diesen Nachrichten überprüfen oder einfügen? Was ist Prozess 1368?

sudo ps -p 1368

2
Hier geht es nicht um Pufferüberläufe, sondern die Verwendung des Wortes "Kanarienvogel" leitet sich auch aus der Verwendung von Kanarienvögeln ab.
Januar
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.