우리는 엔지니어가 개발한 소프트웨어에 대한 특정 프레임워크 요구 사항을 충족하기 위해 다양한 시스템 realtime
( SCHED_FIFO
, )에서 일부 소프트웨어를 실행하는 데 우선 순위를 둡니다.Priority: 99
우리의 사이드 프로젝트 중 하나는 동일한 실시간 성능이 "실제로" 필요하지는 않지만 실시간으로 실행될 때만 가능한 일부 기능이 필요합니다. IE 프레임 드롭은 심각한 실패 조건은 아니지만 다른 일이 제대로 발생하려면 시도하고 적중해야 합니다. 혼란스러운 혼란입니다.
그럼에도 불구하고 소프트웨어를 실시간으로 실행하는 동안 시스템을 사용하여 다른 빠른 작업도 수행합니다. 일반적으로 터미널 창 열기, 빠른 프로그램 실행, Ctrl+ d터미널 삭제 및 생활을 이어갑니다. 그렇게 하면 애플리케이션 복사본이 중단 없는 절전 상태가 되어 시간이 지남에 따라 시스템 리소스가 고갈되고 시스템이 잠길 수 있습니다. 소프트웨어가 중지되면 모든 최대 절전 모드 프로세스를 즉시 해결하고 모든 종료를 완료합니다.
내 생각에는 이러한 프로세스를 정리하기 위해 어떤 정리 프로세스를 실행하더라도 시스템이 실시간 우선순위 지정을 수행할 수 없다는 것입니다. 나는 "이것은 라이브 시스템을 사용하는 방식이 아니다"라는 것을 알고 있지만 불행히도 그것은 그들이 인정하기를 거부하는 문제이고 나는 간단한 문제에 대한 마술적인 해결책을 찾아야 합니다(실시간 시스템을 하나의 도구로 사용하지 마십시오) 워크스테이션).
그래서 내 질문은 다음과 같습니다. 정리 프로세스가 때때로 최대 실행 프로세스보다 우선하도록 수동으로 강제하는 방법이 있습니까?
시도해 볼까 생각해 봤는데 , 문제에 대한 매우 복잡한 해결책인 것 같고, 시간을 들여 잘 사용하는 방법 과 다양한 커널 타이밍 통계를 cgroups
배워도 실제로 작동할지는 확신할 수 없습니다.cgroups