chrt 정책을 설정할 수 없습니다. 매개변수가 잘못되었습니다.

chrt 정책을 설정할 수 없습니다. 매개변수가 잘못되었습니다.

이는 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가 존재하지 않으므로 두 번째 답변은 중요하지 않습니다. 두 통화 모두에 대해 권한을 실행
했는데 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문제가 해결되었습니다.

관련 정보