Red Hat Training

A Red Hat training course is available for RHEL 8

29.7. ブートプロセス中のサービス優先度の変更

systemd サービスを使用すると、システムの起動プロセス中に起動したサービスに対して、リアルタイムの優先度を設定できます。ユニット設定ディレクティブ は、ブートプロセス中にサービスの優先度を変更するために使用されます。

ブートプロセスの優先度の変更は、service セクションの以下のディレクティブを使用して行われます。

CPUSchedulingPolicy=
実行したプロセスの CPU スケジューリングポリシーを設定します。これは、 のポリシー、fifo ポリシー、および rr ポリシーを設定するために使用されます。
CPUSchedulingPriority=
実行したプロセスの CPU スケジューリングの優先度を設定します。利用可能な優先度の範囲は、選択した CPU スケジューリングポリシーによって異なります。リアルタイムスケジューリングポリシーでは、1 (最も低い優先度) から 99 (最も高い優先度) までの整数を使用できます。

以下の手順では、ブートプロセス中に mcelog サービスを使用してサービスの優先度を変更する方法を説明します。

前提条件

  1. tuned パッケージをインストールしている。

    # yum install tuned
  2. tuned サービスを有効にして起動している。

    # systemctl enable --now tuned

手順

  1. 実行中のスレッドのスケジュールの優先度を表示します。

    # 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
    [...]
  2. 補助の mcelog サービス設定ディレクトリーファイルを作成し、このファイルにポリシー名と優先度を挿入します。

    # cat <<-EOF > /etc/systemd/system/mcelog.system.d/priority.conf
    
    >
    [SERVICE]
    CPUSchedulingPolicy=_fifo_
    CPUSchedulingPriority=_20_
    EOF
  3. systemd スクリプト設定を再読み込みします。

    # systemctl daemon-reload
  4. 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

関連情報