これはFedoraとGarudaの両方で発生します。以下はエラーメッセージの例です。
$ sysctl kernel/sched_deadline_period_min_us kernel/sched_rt_period_us kernel/sched_rt_runtime_us
kernel.sched_deadline_period_min_us = -1
kernel.sched_rt_period_us = -1
kernel.sched_rt_runtime_us = -1
$ chrt --deadline -P 50000 --pid 0 2236118
chrt: failed to set pid 2236118's policy: Invalid argument
$ sysctl kernel/sched_deadline_period_min_us kernel/sched_rt_period_us kernel/sched_rt_runtime_us
kernel.sched_deadline_period_min_us = -1
kernel.sched_rt_period_us = -1
kernel.sched_rt_runtime_us = -1
# chrt -d -P 50000 0 yes
chrt: failed to set pid 0's policy: Invalid argument
ご覧のとおり、解決策が見つかりました。ここ動作しません。サービスcgconfig
が存在しないため、2番目の答えは重要ではありません。両方の通話に対して権限を実行し
ましたstrace
が、それも問題ではありませんでした。すべて失敗しましたsched_setattr
。
sched_setattr(2236118, {size=56, sched_policy=SCHED_DEADLINE, sched_flags=0, sched_nice=0, sched_priority=0, sched_runtime=50000, sched_deadline=50000, sched_period=50000, sched_util_min=0, sched_util_max=0}, 0) =-1 EINVAL (Invalid argument)
sched_setattr(0, {size=56, sched_policy=SCHED_DEADLINE, sched_flags=0, sched_nice=0, sched_priority=0, sched_runtime=50000, sched_deadline=50000, sched_period=50000, sched_util_min=0, sched_util_max=0}, 0) = -1 EINVAL (Invalid argument)
私も確認しましたsched_setattr のマニュアルページ。これにより、すべてのパラメータが許可されます。
chrt
バージョン:
chrt from util-linux 2.38
chrt from util-linux 2.37.4
答え1
50に設定するとkernel.sched_deadline_period_min_us
問題が解決しました。