19.5. 使用 taskset 工具将进程绑定到 CPU


taskset 实用程序使用任务的进程 ID (PID)来查看或设置其 CPU 关联性。您可以使用 实用程序运行带有所选 CPU 关联性的命令。

要设置关联性,您需要将 CPU 掩码设为十进制或十六进制数字。mask 参数是一个 位掩码,用于指定修改的命令或 PID 的 CPU 内核是法律的。

重要

taskset 工具在 NUMA (Non-Uniform Memory Access)系统上工作,但它不允许用户将线程绑定到 CPU 和最接近的 NUMA 内存节点。在这样的系统上,taskset 不是首选工具,而 numactl 实用程序则应用于其高级功能。

如需更多信息,请参阅您系统上的 numactl (8) 手册页。

流程

  • 使用必要的选项和参数运行 taskset

    • 您可以使用 -c 参数而不是 CPU 掩码来指定 CPU 列表。在本例中,会指示 my_embedded_process 仅在 CPU 0,4,7-11 上运行。

      # taskset -c 0,4,7-11 /usr/local/bin/my_embedded_process
      Copy to Clipboard Toggle word wrap

      在大多数情况下,此调用更为方便。

    • 要设置当前没有运行的进程的关联性,请使用 taskset 并指定 CPU 掩码和进程。

      在本例中,会指示 my_embedded_process 仅使用 CPU 3 (使用 CPU 掩码的十进制版本)。

      # taskset 8 /usr/local/bin/my_embedded_process
      Copy to Clipboard Toggle word wrap
    • 您可以在位掩码中指定多个 CPU。在本例中,将指示 my_embedded_process 在处理器 4、5、6 和 7 (使用 CPU 掩码的十六进制版本)上执行。

      # taskset 0xF0 /usr/local/bin/my_embedded_process
      Copy to Clipboard Toggle word wrap
    • 您可以使用 CPU 掩码和您要更改的进程的 PID 选项为已经运行的进程设置 CPU 关联性。 在本例中,PID 为 7013 的进程被指示仅在 CPU 0 上运行。

      # taskset -p 1 7013
      Copy to Clipboard Toggle word wrap
注意

您可以组合列出的选项。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat