Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我很难找到有关如何为 linux 内核(及其所有加载的模块)设置 cpu 亲和性的信息,而不是针对特定进程的信息。
这是因为我希望内核一直在 CPU 0 上运行以处理 I/O 内容,而不是在其他 3 个 CPU 上运行任何开关,因为它可能会污染 L1 和 L2 缓存。
提前致谢。
努利克
代表进程的内核工作将始终发生在发出请求的 CPU 上。不过,您可以控制中断。查看/proc/interrupts以识别您要移动的中断(例如所有匹配eth0的)并通过将十六进制掩码回显为 来设置亲和力/proc/irq/XXX/smp_affinity。
/proc/interrupts
eth0
/proc/irq/XXX/smp_affinity
您应该能够通过内核命令行选项禁用其他内核。
不在内核上运行内核意味着在该内核上也不能运行其他任何东西。没有内核调度程序和 TLB 设置 -> 没有代码执行。