优化命令之taskset进程绑定

一、taskset命令概述

  • SMP (Symmetrical Multi-Processing):指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构
  • CPU affinity:中文换做”CPU亲和力”,是指在CMP架构下,能够将一个或多个进程绑定到一个或多个处理器上运行

1、tasket绑定进程

Centos7系统不自带taskset工具,所以要先安装taskset工具
yum install util-linux
在这里插入图片描述

2、taskset语法参数

语法格式:taskset [options] -p [mask] pid
参数选项:
-a, --all-tasks 操作所有的任务线程
-p, --pid 操作已存在的pid
-c, --cpu-list 通过列表显示方式设置CPU(逗号相隔)
-V, --version 输出版本信息

在这里插入图片描述

二、taskset实例

1、top指定查看pid

在这里插入图片描述

2、查询pid是否在外面设定的CPU核心上运行

taskset -pc 8567

在这里插入图片描述

3、查询PID在哪个cpu上运行

taskset -p 7686查看进程在哪个cpu上运行

在这里插入图片描述

mask为十六进制,=0011,表示其在cpu0和cpu1上运行
注:cpu是从0开始计数
小结:taskset -p pid 以十六进制查看进程在哪块cpu上运行
taskset -pc pid 以列表形式查看进程在哪块cpu上运行,显示几就是cpu几,比如显示0,1就表示在cpu0和cpu1上运行
在这里插入图片描述

三、总结

taskset -pc cpulist pid以列表的形式指定进程运行的cpu因为-p的mask需要换算十六进程,所以我们常用**-pc**查询与指定进程运行的cpu

猜你喜欢

转载自blog.csdn.net/qq_45088125/article/details/125271925