16.5. 使用 tuna CLI 更改进程调度策略和优先级

您可以使用 tuna CLI 更改进程调度策略和优先级。

先决条件

  • 已安装 RHEL for Real Time 软件包组,以及 tuna 软件包。
  • 系统的 root 权限。

    注意

    分配 OTHER 和 NATCH 调度策略不需要 root 权限。

流程

  1. 查看线程的信息。

    # tuna --threads=thread_list --show_threads

    其中 thread_list 是您要显示的进程的逗号分隔列表。

    例如:

    # tuna --threads=rngd --show_threads
                          thread       ctxt_switches
        pid SCHED_ rtpri affinity voluntary nonvoluntary             cmd
      3571   OTHER     0  0,1,2,3    167697          134            rngd
  2. 修改进程调度策略和线程的优先级。

    # tuna --threads=thread_list --priority scheduling_policy:priority_number

    其中:

    • thread_list 是您要显示的调度策略和优先级的进程的逗号分隔列表。
    • scheduling_policy 是以下之一:

      • 其他
      • BATCH
      • FIFO - First In First Out
      • RR - Round Robin
    • priority_number 是一个优先级号,从 0 到 99,其中 0 不是优先级,99 是最高优先级。

      注意

      OTHERBATCH 调度策略不需要指定优先级。另外,唯一有效的优先级(如果指定)是 0。FIFORR 调度策略的优先级需要 1 或更高优先级。

      例如:

    # tuna --threads=rngd --priority FIFO:1

验证步骤

  • 查看线程的信息,以确保信息更改。
# tuna --threads=rngd --show_threads
                      thread       ctxt_switches
    pid SCHED_ rtpri affinity voluntary nonvoluntary             cmd
  3571   FIFO     1  0,1,2,3    167697          134            rngd