다음을 사용하여 Linux 프로세스 우선 순위를 변경하려고합니다.차트. 프로세스의 우선순위를 SCHED_FIFO
에서 로 변경했습니다 SCHED_OTHER
. 성능이 향상되는 것을 볼 수 있습니다. 저는 임베디드 시스템용으로 Linux Angstrom 배포판을 실행하고 있습니다.
그렇다면 한 프로세스에 이를 사용하면 SCHED_FIFO
다른 프로세스에는 어떤 영향을 미치나요? 어떤 예방 조치를 취해야 합니까? 프로세서 활용도에 눈에 띄는 변화는 없었습니다. 미리 감사드립니다.
답변1
에서 설명했듯이 RT 우선순위가 있습니다. 이는 무언가를 하기로 결정하면 모든(즉, "정상") 작업을 선점한다는 의미 sched_setscheduler(2)
입니다 .SCHED_FIFO
SCHED_OTHER
따라서 잘 작성되었는지, 정기적으로 자체 제어하는지 절대적으로 확인해야 합니다. 왜냐하면 그렇지 않기로 결정하면(예: CPU 시간이 필요함) RT 프로세스가 절전 모드로 전환하기로 결정할 때까지 시스템의 나머지 부분이 완전히 정지되기 때문입니다(아마도 "절대").