“카나리아 실”이란 무엇이며 왜 굶주리고 있습니까? is apparently starving. Taking action. rtkit-daemon[1145]: Demoting known

다음과 같은 경우에 때때로 나타납니다 /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.

무슨 일이야?



답변

여기서 사용 된 “카나리아”라는 용어는 원래 탄광 에서 유래 한 것 입니다. 석탄 광부들은 위험한 가스를 탐지하기 위해 카나리아를 사용했습니다. 결과적으로 “카나리아”라는 용어는 위험한 상황에 대해 (초기) 경고를받는 데 사용되는 모든 항목에 자주 사용됩니다.

이 경우 “rtkit”은 “실시간”우선 순위를 갖는 스레드가 다른 스레드 (& 프로세스)를 “고갈”하는지 테스트하기 위해 “정상”스레드를 시작하는 것처럼 보입니다 . 여기서 “고갈”은 프로세서 시간이 너무 적게 걸리는 것을 의미합니다. . 이는 실시간 우선 순위에 액세스 할 수있는 프로세스 / 스레드가 다른 작업을 더 이상 수행 할 수 있도록 CPU 시간을 많이 사용하지 않도록하는 안전 조치입니다.

따라서 rtkit에서 실시간 우선 순위를 얻은 일부 스레드가 잘못 작동하고 CPU를 독점하려고 시도하면 rtkit은이를 “카나리아 스레드”로 감지하여 rtkit이 실시간 우선 순위를 제거합니다.


답변

버퍼 오버 플로우

위키 백과 버퍼 오버 플로우 카나리아

문제가있는 곳에 게시 한 로그에서 알 수 없으므로 해당 메시지 아래의 로그 항목을 확인하거나 붙여 넣을 수 있습니까? 프로세스 1368은 무엇입니까?

sudo ps -p 1368


답변