O seguinte aparece ocasionalmente em /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.
O que está acontecendo aqui?
ACPI power save options
está definido comoExtended
. Mude paraNormal
.Respostas:
O termo "canário", usado aqui, vem originalmente da mineração de carvão . Os mineiros de carvão usavam canários para detectar gases perigosos (se o canário que eles carregavam com eles morresse, eles sabiam que tinham que sair do poço / mina o mais rápido possível). Como resultado, o termo "canário" agora é usado com frequência para qualquer coisa que você use para receber um aviso (precoce) sobre uma situação perigosa.
Nesse caso, parece que o 'rtkit' inicia um encadeamento "normal" para testar se os encadeamentos que recebem prioridades em "tempo real" estão "inanimando" outros encadeamentos (e processos), onde "inanimado" significa que eles têm muito pouco tempo do processador . Essa é uma medida de segurança para garantir que processos / threads que tenham acesso a prioridades em tempo real não consumam tanto tempo de CPU que outras tarefas não tenham mais.
Então, aparentemente, alguns threads que obtiveram prioridades em tempo real do rtkit estão se comportando mal e, tentando monopolizar a CPU, o rtkit detecta isso com seu "canary thread" e, portanto, o rtkit retira as prioridades em tempo real.
fonte
É um estouro de buffer
Canários de estouro de buffer da Wikipedia
Não sei dos logs que você postou onde está o problema. Você pode verificar ou colar as entradas de log acima e abaixo dessas mensagens? Qual é o processo 1368?
fonte