30.7. 부팅 프로세스 중 서비스 우선 순위 변경
systemd
서비스를 사용하면 부팅 프로세스 중에 시작된 서비스에 대한 실시간 우선 순위를 설정할 수 있습니다. 단위 구성 지시문 은 부팅 프로세스 중에 서비스의 우선 순위를 변경하는 데 사용됩니다.
부팅 프로세스 우선 순위 변경은 service 섹션에서 다음 지시문을 사용하여 수행됩니다.
CPUSchedulingPolicy=
-
실행된 프로세스에 대한 CPU 스케줄링 정책을 설정합니다.
다른
,fifo
및rr
정책을 설정하는 데 사용됩니다. CPUSchedulingPriority=
-
실행된 프로세스의 CPU 스케줄링 우선 순위를 설정합니다. 사용 가능한 우선 순위 범위는 선택한 CPU 스케줄링 정책에 따라 다릅니다. 실시간 스케줄링 정책의 경우
1
(최저 우선 순위)과99
(최고 우선 순위) 사이의 정수를 사용할 수 있습니다.
다음 절차에서는 mcelog
서비스를 사용하여 부팅 프로세스 중에 서비스의 우선 순위를 변경하는 방법을 설명합니다.
사전 요구 사항
TuneD 패키지를 설치합니다.
# dnf install tuned
TuneD 서비스를 활성화하고 시작합니다.
# systemctl enable --now tuned
절차
실행 중인 스레드의 스케줄링 우선 순위를 확인합니다.
# tuna --show_threads thread ctxt_switches pid SCHED_ rtpri affinity voluntary nonvoluntary cmd 1 OTHER 0 0xff 3181 292 systemd 2 OTHER 0 0xff 254 0 kthreadd 3 OTHER 0 0xff 2 0 rcu_gp 4 OTHER 0 0xff 2 0 rcu_par_gp 6 OTHER 0 0 9 0 kworker/0:0H-kblockd 7 OTHER 0 0xff 1301 1 kworker/u16:0-events_unbound 8 OTHER 0 0xff 2 0 mm_percpu_wq 9 OTHER 0 0 266 0 ksoftirqd/0 [...]
보조
mcelog
서비스 구성 디렉터리 파일을 생성하고 이 파일에 정책 이름과 우선 순위를 삽입합니다.# cat << EOF > /etc/systemd/system/mcelog.service.d/priority.conf [Service] CPUSchedulingPolicy=fifo CPUSchedulingPriority=20 EOF
systemd
스크립트 구성을 다시 로드합니다.# systemctl daemon-reload
mcelog
서비스를 다시 시작하십시오.# systemctl restart mcelog
검증
systemd
문제로 설정된mcelog
우선 순위를 표시합니다.# tuna -t mcelog -P thread ctxt_switches pid SCHED_ rtpri affinity voluntary nonvoluntary cmd 826 FIFO 20 0,1,2,3 13 0 mcelog
추가 리소스
-
시스템의
systemd(1)
및tuna(8)
도움말 페이지 - 우선순위 범위에 대한 설명