Что такое «канарейка» и почему она голодает?


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
Речь идет не о переполнении буфера, но использование слова «канарейка» также происходит от использования канареек шахтеров.
Janc
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.