全局设置 CPU 亲和性

tha*_*min 6 cpu numa

有没有办法制作所有进程,除了我故意设置tasksetnumactl仅使用某些内核/内存的进程(无需循环遍历每个进程的每个线程并自己设置)?

更多细节:我有 2 个物理 CPU 芯片,每个芯片有 4 个内核/8 个线程以及总共 256 GB 的 RAM。内存在两条 CPU 内存总线之间分布不均。我希望内存显着减少的那个是通用的,大多数程序(例如后台任务)在该 CPU 上运行并带有它的内存。然后在具有大部分内存的 CPU 上运行特殊任务,我将对其速度进行计时,并希望它们没有 CPU 争用、NUMA 或类似问题。

Out*_*ate 5

这可以通过修改 systemd 配置来实现。首先,/etc/systemd/system.conf通过添加以下内容更改默认关联设置:

[Manager]
CPUAffinity=1
Run Code Online (Sandbox Code Playgroud)

然后,在您的单位下,清除关联,然后将其重置为您想要的 CPU

[Exec]
CPUAffinity=
CPUAffinity=2-4
Run Code Online (Sandbox Code Playgroud)