【问题标题】:SurvivorRatio flag of JVM does not work?JVM 的 SurvivorRatio 标志不起作用?
【发布时间】:2017-03-10 13:46:29
【问题描述】:

Oracle 的文档写道“SurvivorRatio 参数控制两个幸存空间的大小。例如,-XX:SurvivorRatio=6 将每个幸存空间与伊甸园之间的比例设置为 1:6,每个幸存空间将是一个八分之一的年轻一代”,但在我下面的例子中它不起作用

我设置的 JVM 标志:

JVM 堆信息:

gcutil 每 1 秒输出一次:

以下是问题:

  1. 来自空间容量:伊甸园空间容量 = 4.5:824.5 不是 1:6,错在哪里?
  2. 为什么 S0U 和 S1U 之间的切换会发生变化 (Minor GC) 如此频繁导致高 CPU 负载。

【问题讨论】:

  • 也许你需要-XX:-UseAdaptiveSizePolicy 选项……
  • @Holger 没用 :(
  • 根据您的回答,它确实有效吗?
  • @Holger 是的,它有效。

标签: java jvm


【解决方案1】:

我解决了!

-XX:+UseAdaptiveSizePolicy默认开启,与-XX:SurvivorRatio=n不兼容。在我使用-XX:-UseAdaptiveSizePolicy 禁用自适应大小策略之后,它现在可以工作了。

【讨论】:

    猜你喜欢
    • 2015-09-28
    • 1970-01-01
    • 1970-01-01
    • 2018-11-08
    • 2023-03-26
    • 1970-01-01
    • 2021-10-10
    • 2018-08-04
    • 2011-10-11
    相关资源
    最近更新 更多