You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

超线程启用时,如何用taskset正确绑定线程到指定物理CPU

问题描述

已启用超线程/逻辑CPU,lscpu显示存在128个逻辑CPU(对应64个物理CPU),NUMA节点信息如下:

NUMA node(s):         2
  NUMA node0 CPU(s):    0-31,64-95
  NUMA node1 CPU(s):    32-63,96-127

推测逻辑CPU#0-1对应物理CPU#0,逻辑CPU#2-3对应物理CPU#1。现需将线程thread_pid1绑定到物理CPU#1,请问以下哪条taskset命令语法正确?

taskset -cp 1 thread_pid1
taskset -cp 2,3 thread_pid1
taskset -cp 2 thread_pid1
解答

正确命令是:taskset -cp 2,3 thread_pid1

分析:

  • taskset的-c参数接受逻辑CPU编号作为输入,-p用于指定要绑定的进程/线程PID。
  • 题目明确物理CPU#1对应逻辑CPU#2和#3,要将线程绑定到整个物理CPU#1,需要把这两个逻辑核都纳入绑定范围,这样线程可以利用该物理CPU的超线程资源。
  • 其他选项问题:
    • taskset -cp 1 thread_pid1:指定的逻辑CPU#1属于物理CPU#0,不符合需求。
    • taskset -cp 2 thread_pid1:仅绑定到物理CPU#1的单个逻辑核,没有覆盖该物理CPU的全部超线程资源,未达到绑定整个物理CPU#1的目的。

内容的提问来源于stack exchange,提问作者user4918159

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 16:51:02