在Linux X86中使用任务集在隔离的CPU上运行进程的不同行为

时间:2020-10-22 13:48:33

标签: linux linux-kernel scheduler

我正在运行性能测试,其中将一组进程/线程放入Linux中一组隔离的CPU中。
让我以/ usr / bin / stress为例,说明Linux 4.18.20中的不同行为。
系统中有16个CPU,CPU 2-13与isolcpus = 2-13隔离。
测试1,taskset -c 2-13 / usr / bin / stress -c12。目标是在CPU 2-13中运行12个Stress实例。但是实际上,所有压力实例都放在CPU2中,而不是其他CPU上。

测试2,taskset -c 2-13 chrt -f 1 / usr / bin / stress -c 12.这次,将12个实例放入12个CPU中,每个实例都在一个特定的CPU上。

所以问题是为什么测试1和2表现出不同的行为,内核的哪一部分导致了这种不同?

0 个答案:

没有答案
相关问题