mik*_*ike 10 linux unix central-processing-unit multi-threading
假设我有一个四核盒子和四个相同的进程,每个进程有十个线程。在 Linux 中,是否可以说进程 A 只允许在 CPU 0 上运行,进程 B 只允许在 CPU 1 上运行,等等?
Dav*_*ett 16
taskset <affinity mask> -p <process>
Run Code Online (Sandbox Code Playgroud)
IE
taskset 1 -p 12345
Run Code Online (Sandbox Code Playgroud)
将进程 12345 设置为仅使用处理器/核心 1
位掩码可以是一个列表(即 1,3,4 使用 4+ 核心系统的核心 1 3 和 4)或十六进制位掩码(0x0000000D 1,3,4, 0x00000001 仅代表核心 1)
taskset
通常在一个名为shedutils
.
编辑:差点忘了...如果要设置新命令的关联性而不是为现有进程更改它,请使用:
taskset <mask> <program> [<arg1>]...[<argN>]
Run Code Online (Sandbox Code Playgroud)