Czym jest „nić kanaryjska” i dlaczego głoduje?

14

Od czasu do czasu pojawia się /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.

Co tu się dzieje?

ændrük
źródło
Jakieś błędy w kern.log dotyczące ACPI? Jeśli tak, wejdź do BIOS-u i sprawdź, czy ACPI power save optionsjest ustawiony na Extended. Zmień to na Normal.
Rinzwind,

Odpowiedzi:

24

Użyte tutaj określenie „kanarek” pochodzi z wydobycia węgla . Górnicy węgla używali kanarków do wykrywania niebezpiecznych gazów (jeśli kanarek, który ze sobą nosili, umarł, wiedzieli, że muszą jak najszybciej wydostać się z szybu / kopalni). W rezultacie termin „kanarek” jest teraz często używany do wszystkiego, czego używasz, aby otrzymać (wczesne) ostrzeżenie o niebezpiecznej sytuacji.

W tym przypadku wydaje się, że „rtkit” uruchamia „normalny” wątek, aby sprawdzić, czy wątki, które mają priorytety „w czasie rzeczywistym”, „głodują” inne wątki (i procesy), gdzie „głodujący” oznacza, że ​​mają za mało czasu procesora . Jest to środek bezpieczeństwa, aby upewnić się, że procesy / wątki, które mają dostęp do priorytetów w czasie rzeczywistym, nie zużywają tak dużo czasu procesora, że ​​inne zadania już nie dostają.

Tak więc najwyraźniej niektóre wątki, które otrzymały od rtkit priorytety w czasie rzeczywistym, działają nieprawidłowo i próbują zmonopolizować procesor, rtkit wykrywa to za pomocą swojego „kanarowego wątku”, a zatem rtkit odbiera priorytety w czasie rzeczywistym.

JanC
źródło
-3

Jest to przepełnienie bufora

Kanarki przepełnienia bufora Wikipedii

Nie mogę stwierdzić z opublikowanych dzienników, gdzie jest problem, czy możesz sprawdzić lub wkleić wpisy dziennika powyżej i poniżej tych komunikatów? Co to jest proces 1368?

sudo ps -p 1368
Pantera
źródło
2
Nie chodzi tu o przepełnienie bufora, ale użycie słowa „kanarek” pochodzi również od użycia kanarków górnika.
JanC