4.3. 실시간 스케줄러 우선순위
systemd 명령을 사용하여 부팅 프로세스 중에 시작된 서비스의 실시간 우선 순위를 설정할 수 있습니다. 일부 커널 스레드에는 매우 높은 우선 순위가 제공될 수 있습니다. 이를 통해 기본 우선순위는 RRTSJ(Real Time Specification for Java)의 요구 사항과 잘 통합할 수 있습니다. RTSJ에는 10에서 89까지 다양한 우선순위가 필요합니다.
RTSJ가 사용되지 않는 배포의 경우 애플리케이션에서 사용할 수 있는 90 미만의 스케줄링 우선순위가 광범위한 것입니다. 필수 시스템 서비스가 실행되지 않도록 할 수 있으므로 우선 순위 49 이상의 애플리케이션 스레드를 예약할 때는 차단된 네트워크 트래픽, 차단된 가상 메모리 페이징 및 차단된 파일 시스템 저널링으로 인한 데이터 손상이 발생할 수 있습니다.
애플리케이션 스레드가 우선 순위 89 위에 예약된 경우 스레드가 매우 짧은 코드 경로만 실행해야 합니다. 그러지 않으면 RHEL for Real Time 커널의 짧은 대기 시간이 부족해질 수 있습니다.
필수 권한 없이 사용자의 실시간 우선 순위 설정
기본적으로 애플리케이션에 대한 root 권한이 있는 사용자만 우선 순위 및 스케줄링 정보를 변경할 수 있습니다. root 권한을 제공하기 위해 설정을 수정할 수 있으며 기본 방법은 사용자를 realtime 그룹에 추가하는 것입니다.
/etc/security/limits.conf 파일을 편집하여 사용자 권한을 변경할 수도 있습니다. 그러나 이로 인해 중복되고 일반 사용자에게 시스템을 사용할 수 없게 될 수 있습니다. 이 파일을 편집하려면 변경하기 전에 주의하고 항상 복사본을 만듭니다.