Що таке "канарка", і чому вона голодує?


14

У періодичному періоді з'являється таке /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.

Що тут відбувається?


Будь-які помилки в kern.log щодо ACPI? Якщо так: введіть BIOS і перевірте, чи ACPI power save optionsвстановлено значення Extended. Змініть його на Normal.
Rinzwind

Відповіді:


24

Термін "канарка", що використовується тут, походить від видобутку вугілля спочатку. Шахтарі вугілля використовували канарки для виявлення небезпечних газів (якщо канарка, яку вони перевозили з собою, загинула, вони знали, що їм доведеться вибратися з шахти / шахти якнайшвидше). В результаті термін "канарка" зараз часто використовується для всього, що ви використовуєте, щоб отримати (раннє) попередження про небезпечну ситуацію.

У цьому випадку здається, що "rtkit" запускає "звичайний" потік для перевірки, чи потоки, які отримують пріоритети "в реальному часі", "голодують" іншими потоками (і процесами), де "голодування" означає, що вони отримують занадто мало процесорного часу . Це захід безпеки, щоб переконатися, що процеси / потоки, які мають доступ до пріоритетів у режимі реального часу, не витрачають стільки часу на процесор, що інші завдання більше не отримують.

Отже, очевидно, що деякі потоки, які отримали пріоритети в режимі реального часу від rtkit, є / погано ведуть себе і намагаються монополізувати процесор, rtkit виявляє це за допомогою своєї "канаркової нитки", і таким чином rtkit відбирає пріоритети в реальному часі.


-3

Це переповнення буфера

Канари переповнюють буфер Вікіпедії

Я не можу сказати з опублікованих вами журналів, де проблема, чи можете ви перевірити або вставити записи в журнал вище цих повідомлень? Що таке процес 1368?

sudo ps -p 1368

2
Йдеться не про переливи буфера, але вживання слова "канарка" також походить від використання вугілля шахтарів вугілля.
січня
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.