任务集核心数问题

Art*_*amp 7 linux unix central-processing-unit multi-threading hyperthreading

我有启用超线程的四核 CPU。所以我有 8 个逻辑核心。我想将我的应用程序限制为仅使用 4 个内核,并且我希望这 4 个内核是不同的物理内核。我应该使用哪些任务集选项(核心编号)?:

  • taskset -c 0,1,2,3 命令或
  • 任务集 -c 0,2,4,6 命令

谢谢你。

mal*_*pdx 6

您可以通过查看/proc/cpuinfo. 例如,您将在具有双核 cpu 的机器上看到:

processor   : 0
(snip)
core id     : 0
cpu cores   : 2
Run Code Online (Sandbox Code Playgroud)

对于处理器上的第一个内核和:

processor   : 1
(snip)
core id : 1
cpu cores   : 2
Run Code Online (Sandbox Code Playgroud)

在第二个。

所以,一般来说,我认为你会想要:

taskset -c 0,1,2,3
Run Code Online (Sandbox Code Playgroud)

或者:

taskset -c 4,5,6,7
Run Code Online (Sandbox Code Playgroud)