我正在使用任务集工具为我的一个程序设置 CPU 亲和性。如何仅在单个 CPU 上设置关联 - 因为我不确定这一点,所以我这样做了:
taskset -c 2-2 tests/prog 1 2 3
...期望,我将程序安排为仅在 CPU #2 上运行,遵循其他 CPU 的类似方式。即使我是对的,这是执行我想要的 IMO 的不好方法,我可以得到一些帮助吗?
谢谢你,
萨扬
我正在使用任务集工具为我的一个程序设置 CPU 亲和性。如何仅在单个 CPU 上设置关联 - 因为我不确定这一点,所以我这样做了:
taskset -c 2-2 tests/prog 1 2 3
...期望,我将程序安排为仅在 CPU #2 上运行,遵循其他 CPU 的类似方式。即使我是对的,这是执行我想要的 IMO 的不好方法,我可以得到一些帮助吗?
谢谢你,
萨扬
taskset -c 2 ...
应该可以将程序固定到 CPU #2(这是第三个 CPU——CPU 从 0 开始编号)。
即使我是对的,这是执行我想要的 IMO 的不好方法,我可以得到一些帮助吗?
取决于你想要什么。你想达到什么目的?
最简单的方法是使用 CPU 掩码,例如
taskset -p mask pid
#taskset -p 0x00000001 11587
pid 11587's current affinity mask: ff
pid 11587's new affinity mask: 1