以前有人问过这个问题,但我相信世界已经发生了足够大的变化,可以再次提出这个问题。
irqbalance 在我们拥有支持 NUMA 的 CPU 并在它们的内核之间共享内存的今天的系统上有什么用处吗?
运行irqbalance --oneshot --debug
显示现代 VMware ESXi 环境中的虚拟来宾正在内核之间共享 NUMA 节点。
# irqbalance --oneshot --debug 3
Package 0: numa_node is 0 cpu mask is 0000000f (load 0)
Cache domain 0: numa_node is 0 cpu mask is 0000000f (load 0)
CPU number 0 numa_node is 0 (load 0)
CPU number 1 numa_node is 0 (load 0)
CPU number 2 numa_node is 0 (load 0)
CPU number 3 numa_node is 0 (load 0)
在这种情况下,irqbalance 将检测到它正在 NUMA 系统上运行,然后退出。这扰乱了我们的过程监控。
我们应该考虑在这样的系统上运行numad而不是 irqbalance 吗?
这对于 VMware 虚拟化服务器来说非常有趣。
这是 RedHat 一名技术人员的回答。尽管我确实相信大多数企业硬件都支持 NUMA。据我所知,只要 CPU 配置合适,VMware 也会尝试将您的 VM 安装在同一个 NUMA 节点上。
经验(特别是关于 VMware)将不胜感激。