应用层CPU亲和性控制
taskset使用介绍
1. 什么是taskset?
taskset是一个Linux系统命令行工具,主要用于管理进程与CPU核心之间的关系(CPU亲和性),可以指定进程在特定CPU核心上运行。
2. 为什么要用taskset?
提升性能
- 减少进程在不同核心间切换开销
- 提高缓存命中率
- 适用于计算密集型任务(如视频编码、科学计算)
隔离资源
- 保护重要进程不受干扰
- 限制问题进程的影响范围
3. 使用方法
查看进程CPU亲和性
1 | taskset -p [进程PID] |
备注:输出结果会显示该进程当前绑定的CPU核心情况,格式类似“pid 1234’s current affinity mask: f”,这里的“f”是一个十六进制数,每一位对应一个CPU核心,1表示绑定,0表示未绑定。
设置进程CPU亲和性
1 | # 新进程绑定 |
备注:其中“-p”选项用于修改已有进程的CPU亲和性。
4. 注意事项
- 需要root权限(使用sudo)
- 核心编号需符合系统实际CPU核心数
- 避免过度使用,防止系统负载不均衡