2.3. SCHED_DEADLINE パラメーターの設定
Red Hat Enterprise Linux の sched_deadline_period_max_us および sched_deadline_period_min_us パラメーターは、SCHED_DEADLINE スケジューリングポリシーの調整可能なカーネルパラメーターです。これらのパラメーターは、このリアルタイムスケジューリングクラスを使用して、タスクの最大および最小許容期間をマイクロ秒単位で制御します。
sched_deadline_period_max_us と sched_deadline_period_min_us は連携して機能し、SCHED_DEADLINE タスクの期間値の許容範囲を定義します。
-
min_usは、リソースを過剰に使用する可能性のある高頻度タスクを防止します。 -
max_usは、他のタスクのパフォーマンス低下につながる可能性のある、非常に長い期間のタスクを防止します。
パラメーターのデフォルト設定を使用してください。パラメーターの値を変更する必要がある場合は、ライブ環境で設定する前に、カスタム値を必ずテストしてください。
パラメーターの値はマイクロ秒単位です。たとえば、1 秒は 100000 マイクロ秒に相当します。
前提条件
- システムの root 権限がある。
手順
sysctlコマンドのいずれかを使用して、必要な値を一時的に設定します。sched_deadline_period_max_usパラメーターを使用するには、次のコマンドを実行します。# sysctl -w kernel.sched_deadline_period_max_us=2000000sched_deadline_period_min_usパラメーターを使用するには、次のコマンドを実行します。# sysctl -w kernel.sched_deadline_period_min_us=100
値を永続的に設定します。
max_usの場合、/etc/sysctl.confを編集して次の行を追加します。kernel.sched_deadline_period_max_us = 2000000min_usの場合、/etc/sysctl.confを編集して次の行を追加します。kernel.sched_deadline_period_min_us = 100
変更を適用します。
# sysctl -p
検証
max_usのカスタム値を確認します。$ cat /proc/sys/kernel/sched_deadline_period_max_us 2000000min_usのカスタム値を確認します。$ cat /proc/sys/kernel/sched_deadline_period_min_us 100