본문 바로가기
Linux

부팅 프로세스 중 서비스 우선 순위 변경

by 도경다경 2023. 11. 23.
반응형

systemd에 서비스를 등록하면 부팅시 자동실행(systemctl enable) 할 수 있다. 그런데 자동실행 시 우선순위가 필요하다면 다음과 같이 tuned 패키지를 설치하여 우선순위를 설정할 수 있다.

 

부팅 프로세스 중 서비스 우선 순위 변경

systemd 서비스를 사용하면 부팅 프로세스 중에 시작된 서비스에 대한 실시간 우선 순위를 설정할 수 있습니다. 장치 구성 지시문 은 부팅 프로세스 중에 서비스의 우선 순위를 변경하는 데 사용됩니다.

부팅 프로세스 우선 순위 변경은 service 섹션에서 다음 지시문을 사용하여 수행합니다.

CPUSchedulingPolicy=실행된 프로세스에 대한 CPU 스케줄링 정책을 설정합니다. 기타,fifo  rr 정책을 설정하는 데 사용됩니다.CPUSchedulingPriority=실행된 프로세스의 CPU 스케줄링 우선 순위를 설정합니다. 사용 가능한 우선 순위 범위는 선택한 CPU 스케줄링 정책에 따라 다릅니다. 실시간 스케줄링 정책의 경우 1 (최저 우선 순위)에서 99 (최고 우선 순위) 사이의 정수를 사용할 수 있습니다.

다음 절차에서는 mcelog 서비스를 사용하여 부팅 프로세스 중에 서비스의 우선 순위를 변경하는 방법을 설명합니다.

사전 요구 사항

  1. TuneD 패키지를 설치합니다.
  2.  
     
    # yum install tuned
  3. TuneD 서비스를 활성화하고 시작합니다.
  4.  
     
    # systemctl enable --now tuned

절차

  1. 실행 중인 스레드의 스케줄링 우선 순위를 확인합니다.
  2.  
     
    # 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
    [...]
  3. 보조 mcelog 서비스 구성 디렉터리 파일을 생성하고 이 파일에 정책 이름 및 우선 순위를 삽입합니다.
  4.  
     
    # cat << EOF > /etc/systemd/system/mcelog.system.d/priority.conf
    
    [SERVICE]
    CPUSchedulingPolicy=fifo
    CPUSchedulingPriority=20
    EOF
  5. systemd 스크립트 구성을 다시 로드합니다.
  6.  
     
    # systemctl daemon-reload
  7. mcelog 서비스를 다시 시작하십시오.
  8.  
     
    # 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

 

반응형

댓글