【发布时间】:2017-01-21 00:31:09
【问题描述】:
关于 JVM NUMA 感知分配器的好处有很多文章。但是,对于像
这样的单节点拓扑,我找不到有关可能导致-XX:+UseNUMA 标志的性能影响的信息
# numactl --hardware
available: 1 nodes (0)
node 0 cpus: 0 1 2 3
node 0 size: 32060 MB
node 0 free: 7770 MB
node distances:
node 0
0: 10
这似乎是一种极端情况,启用标志并没有真正的利润。如果是这样,启用它可能会导致任何缺点吗?
【问题讨论】:
-
所以问题是,
+UseNUMA在恰好是 UMA 的硬件上会受到伤害吗?我想很少有人能权威地回答这个问题。 -
@MarkoTopolnik 是的。我意识到这个问题不会得到快速响应:/ 我尝试做几个基准测试,看看是否有区别,但仍然没有答案。
-
任何可能的答案当然对每个特定架构和 JVM 版本/变体高度敏感。
-
@MarkoTopolnik 理论上的答案是可以的 :) 在我看来 jvm 只能对一个节点做任何事情,但另一方面,分配器如何处理它会很有趣。
-
理论上,在节点内,核心之间的距离可能不均匀。对于今天的核心数量来说,这可能已经是正确的了。例如,内核的子集共享一个 L2 缓存。
标签: java performance jvm numa