【问题标题】:How to change linux kernel process priority in programmatic way?如何以编程方式更改 linux 内核进程优先级?
【发布时间】:2023-04-01 10:12:01
【问题描述】:

我发现一些函数 'renice' 可以改变进程的 nice 值。

但我想知道如何更改内核代码中的优先级

只改变进程的sched_entity中的优先级值可以吗?

【问题讨论】:

    标签: process linux-kernel kernel scheduling


    【解决方案1】:

    如果您想以编程方式更改进程的便利性,我建议您不要直接在内核结构中设置这些值。相反,您可以使用多个 POSIX 函数,例如 setprioritypthread_setschedparam

    Linux 上的默认调度程序策略是 SCHED_OTHER,因此默认情况下,您可以使用这两个函数实现相同的目标,因为 SCHED_OTHER 只是使用 niceness 级别进行调度。

    如果你可以访问task_struct,为了直接实现这个,你只需要在task_struct中设置static_prio

    【讨论】:

      猜你喜欢
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-06
      • 1970-01-01
      • 2015-02-01
      • 1970-01-01
      相关资源
      最近更新 更多