Qu'est-ce que le «fil des canaris» et pourquoi meurt-il de faim?

14

Le texte suivant apparaît occasionnellement dans /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.

Que se passe t-il ici?

ændrük
la source
Des erreurs dans kern.log concernant ACPI? Si oui: entrez dans le BIOS et vérifiez si ACPI power save optionsest réglé sur Extended. Remplacez-le par Normal.
Rinzwind

Réponses:

24

Le terme «canari» tel qu'il est utilisé ici provient à l' origine de l' exploitation du charbon . Les mineurs de charbon utilisaient des canaris pour détecter les gaz dangereux (si le canari qu'ils transportaient avec eux mourait, ils savaient qu'ils devaient sortir du puits / de la mine dès que possible). En conséquence, le terme "canari" est maintenant souvent utilisé pour tout ce que vous utilisez pour obtenir un avertissement (précoce) sur une situation dangereuse.

Dans ce cas, il semble que 'rtkit' démarre un thread "normal" pour tester si les threads qui ont des priorités "en temps réel" sont "affamés" d'autres threads (& processus), où "faim" signifie qu'ils obtiennent trop peu de temps processeur . C'est une mesure de sécurité pour s'assurer que les processus / threads qui ont accès aux priorités en temps réel n'utilisent pas autant de temps CPU que les autres tâches n'en ont plus.

Donc, apparemment, certains threads qui ont obtenu des priorités en temps réel de rtkit se conduisent mal et tentent de monopoliser le processeur, rtkit détecte cela avec son "thread canari", et donc rtkit supprime les priorités en temps réel.

JanC
la source
-3

C'est un débordement de tampon

Canaries de débordement de tampon Wikipedia

Je ne peux pas dire à partir des journaux que vous avez publiés où est le problème, pouvez-vous vérifier ou coller les entrées du journal au-dessus d'un sous ces messages? Qu'est-ce que le processus 1368?

sudo ps -p 1368
Panthère
la source
2
Il ne s'agit pas de débordements de tampons, mais l'utilisation du mot «canari» y dérive également de l'utilisation des canaris de mineurs de charbon.
JanC