【问题标题】:How does -XX:+UseNUMA affects JVM performance for systems with only one node?-XX:+UseNUMA 如何影响只有一个节点的系统的 JVM 性能?
【发布时间】: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


【解决方案1】:

-XX:+UseNUMA 在这些情况下没有害处。
HotSpot JVM 在单节点运行时自动关闭标志(the source)

【讨论】:

猜你喜欢
  • 2021-04-20
  • 1970-01-01
  • 2021-03-18
  • 1970-01-01
  • 2015-02-08
  • 1970-01-01
  • 1970-01-01
  • 2015-01-10
  • 2012-05-05
相关资源
最近更新 更多