搜索

21.2. 在引导过程中更改服务优先级

download PDF

使用 systemd,您可以为在引导过程中启动的服务设置实时优先级。

单元配置指令用于在引导过程中更改服务优先级。引导过程优先级更改通过使用 /etc/systemd/system/ 服务 .system.d/priority.conf 的service 部分中的以下指令来实现:

CPUSchedulingPolicy=

设置已执行进程的 CPU 调度策略。获取 Linux 上可用的调度类之一:

  • 其他
  • batch
  • idle
  • fifo
  • rr

CPUSchedulingPriority=

为已执行的进程设置 CPU 调度优先级。可用的优先级范围取决于所选的 CPU 调度策略。对于实时调度策略,可以使用 1(最低优先级)和 99 (最高优先级)之间的整数。

先决条件

  • 管理员特权。
  • 引导时运行的服务。

流程

对于现有服务:

  1. 为该服务创建一个补充服务配置目录文件。

    # cat <<-EOF > /etc/systemd/system/mcelog.system.d/priority.conf
  2. 将调度策略和优先级添加到 [SERVICE] 部分中的 文件。

    例如:

    [SERVICE]
    CPUSchedulingPolicy=fifo
    CPUSchedulingPriority=20
    EOF
  3. 重新加载 systemd 脚本配置。

    # systemctl daemon-reload
  4. 重启该服务。

    # systemctl restart mcelog

验证

  • 显示服务优先级。

    $ tuna -t mcelog -P

    输出显示服务的已配置优先级。

    例如:

                        thread       ctxt_switches
      pid SCHED_ rtpri affinity voluntary nonvoluntary             cmd
    826     FIFO    20  0,1,2,3        13            0          mcelog
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.