taskset 常用命令速查表

把 taskset CPU 亲和性最常用的命令整理成速查,性能调优时对照查。

系统与运维·共 26 条命令·最后更新 2026-07-19
返回 系统与运维

基础用法 6

taskset -p <pid>
查看进程 CPU 掩码
taskset -c 0,1 <command>
绑定到 CPU 0 和 1
taskset -c 0-3 <command>
绑定到 CPU 0-3
taskset -p <mask> <pid>
修改进程 CPU 掩码
taskset -cp 0,1 <pid>
修改进程绑定到 CPU 0,1
taskset -cp 0-3 <pid>
修改进程绑定到 CPU 0-3

掩码格式 6

0x00000001
CPU 0(十六进制掩码)
0x00000003
CPU 0 和 1
0x0000000f
CPU 0-3
-c 0
CPU 列表格式(更易读)
-c 0,2,4
指定多个 CPU
-c 0-3,8-11
混合范围

性能调优场景 5

taskset -c 0-3 ./cpu_intensive_app
限制应用使用特定核心
taskset -c 4-7 ./realtime_app
隔离核心给实时应用
taskset -c 0 nginx
绑定 Nginx 到特定核心
taskset -c 1 mysql
绑定 MySQL 到特定核心
taskset -cp 0 $(pgrep app)
修改运行中进程

NUMA 架构优化 4

numactl --hardware
查看 NUMA 拓扑
numactl -c 0 -m 0 ./app
绑定 CPU 和内存节点
numactl --cpunodebind=0 --membind=0 ./app
完整 NUMA 绑定
numastat -p <pid>
查看进程 NUMA 内存分布

与其他工具配合 5

htop
查看 CPU 使用情况
top -1
查看各 CPU 核心负载
mpstat -P ALL 1
实时监控各 CPU 核心
pidstat -t -p <pid> 1
查看线程 CPU 使用
cat /proc/<pid>/status | grep Cpus_allowed
查看进程 CPU 掩码

💡 提示

  • CPU 亲和性可以减少缓存失效,提升性能,但过度绑定可能导致负载不均。
  • 实时应用(如高频交易、音视频处理)适合绑定到隔离核心。
  • NUMA 架构下,CPU 和内存节点绑定能显著减少跨节点访问延迟。