【问题标题】:Setting CPU affinity using taskset使用任务集设置 CPU 亲和性
【发布时间】:2011-07-12 02:41:04
【问题描述】:

我正在使用任务集工具为我的一个程序设置 CPU 亲和性。如何仅在单个 CPU 上设置关联 - 因为我不确定这一点,所以我这样做了:

taskset -c 2-2 tests/prog 1 2 3

...期待,我正在安排程序仅在 CPU #2 上运行,对其他 CPU 采用类似的方式。即使我是对的,这也是执行我想要的 IMO 的不好方法,我可以得到一些帮助吗?

谢谢你,
萨彦

【问题讨论】:

    标签: affinity


    【解决方案1】:

    taskset -c 2 ... 应该可以将程序固定到 CPU #2(这是第三个 CPU -- CPU 从 0 开始编号)。

    即使我是对的,这也是执行我想要的 IMO 的不好方法,我可以得到一些帮助吗?

    取决于你想要什么。你想完成什么?

    【讨论】:

    • 我的印象是 taskset -c 2 会将程序安排在 CPU#0、CPU#1 和 CPU#2 上。谢谢你的澄清。我只想一次从特定的 CPU 运行一个程序。顺便说一句,我在原始问题上的语法正确吗?
    • 正确。 taskset -c 2-2 也有效,只是不必要地冗长。
    【解决方案2】:

    最简单的方法是使用 CPU 掩码,例如

    taskset -p mask pid
    
    #taskset -p  0x00000001 11587
    pid 11587's current affinity mask: ff
    pid 11587's new affinity mask: 1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-30
      • 1970-01-01
      • 2010-11-27
      • 1970-01-01
      • 1970-01-01
      • 2018-02-19
      相关资源
      最近更新 更多