linux taskset

linux taskset

taskset 命令属于 util-linux-ng 包,可以使用 yum 直接安装

taskset 命令用于设置或者获取一直指定的 PID 对于 CPU 核的运行依赖关系。也可以用 taskset 启动一个命令,直接设置它的 CPU 核的运行依赖关系。
CPU 核依赖关系是指,命令会被在指定的 CPU 核中运行,而不会再其他 CPU 核中运行的一种调度关系。需要说明的是,在正常情况下,为了系统性能的原因,调度器会尽可能的在一个 CPU 核中维持一个进程的执行。强制指定特殊的 CPU 核依赖关系对于特殊的应用是有意义的。
CPU 核的定义采用位定义的方式进行,最低位代表 CPU0,然后依次排序。这种位定义可以超过系统实际的 CPU 总数,并不会存在问题。通过命令获得的这种 CPU 位标记,只会包含系统实际 CPU 的数目。如果设定的位标记少于系统 CPU 的实际数目,那么命令会产生一个错误。当然这种给定的和获取的位标记采用 16 进制标识。

1.1 语法

taskset [options] mask command [arg]...
taskset [options] -p [mask] pid

//对一个现有的进程进行操作,而不是启动一个新的进程
-p, --pid
//使用 CPU 编号替代位标记,这可以是一个列表,列表中可以使用逗号分隔,或者使用 "-" 进行范围标记,例如:0,5,7,9-11
-c, --cpu-list
//打印帮助信息
-h, --help
//打印版本信息
-V, --version

2.1 案例

//获取一个指定进程的 CPU 核运行位标记
taskset -p pid
//设定一个指定进程的 CPU 核运行位标记
taskset -p mask pid
posted @ 2022-08-19 17:05  liwenchao1995  阅读(270)  评论(0编辑  收藏  举报