代码之家  ›  专栏  ›  技术社区  ›  Binil Thomas

-xx:+AggressiveOpts在Sun JRE 1.6u20上启用了哪些标志?

  •  30
  • Binil Thomas  · 技术社区  · 15 年前

    来自太阳JRE performance tuning whitepaper , -XX:+AggressiveOpts 标志描述为:

    打开点性能 预期的优化 默认情况下在即将发布的版本中打开。 按此标志分组的更改是 编译的对JVM运行时的微小更改 代码和不明显的性能 功能(如双锁和 ParalleloldGC)。这是一个很好的标志 尝试JVM工程团队的最新版本 即将到来的性能调整 释放。注意:此选项是 实验!具体 此选项启用的优化 可以从发布更改为发布 甚至一个接一个的构建。你应该 重新评估此选项的效果 在部署新版本之前 Java的。

    我的性能测试表明 -XX:+攻击性人物 实际上有助于我的应用程序,但是由于它被标记为实验性的,所以我想小心使用它(我以前被它烧坏了)。所以,我想知道哪些标志是由 -XX:+攻击性人物 1.6u20。通常我通过观察方法 Arguments::set_aggressive_opts_flags() 在里面 hotspot/src/share/vm/runtime/arguments.cpp 文件,但我找不到1.6u20的源 http://download.java.net/jdk6/source/ .

    • 有没有其他办法弄清楚什么旗子 -XX:+攻击性人物 启用?
    • 在哪里可以获得1.6u20版本的源代码?
    2 回复  |  直到 9 年前
        1
  •  41
  •   Dan    9 年前

    要检查特定版本:

    java -XX:-AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version > no_agg
    java -XX:+AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version > agg
    

    然后做比较( diff -U0 no_agg agg )

    例如,JDK 1.7.0_51:

    -     bool AggressiveOpts                           := false           {product}
    +     bool AggressiveOpts                           := true            {product}
    
    -     intx AutoBoxCacheMax                           = 128             {C2 product}
    +     intx AutoBoxCacheMax                           = 20000           {C2 product}
    
    -     intx BiasedLockingStartupDelay                 = 4000            {product}
    +     intx BiasedLockingStartupDelay                 = 500             {product}
    
    -     bool UseFPUForSpilling                         = false           {C2 product}
    +     bool UseFPUForSpilling                         = true            {C2 product}
    

    JDK 1.8:

    -     bool AggressiveOpts                           := false           {product}
    +     bool AggressiveOpts                           := true            {product}
    
    -     intx AutoBoxCacheMax                           = 128             {C2 product}
    +     intx AutoBoxCacheMax                           = 20000           {C2 product}
    
    -     intx BiasedLockingStartupDelay                 = 4000            {product}
    +     intx BiasedLockingStartupDelay                 = 500             {product}
    
    -     bool EliminateAutoBox                          = false           {C2 product}
    +     bool EliminateAutoBox                          = true            {C2 product}
    
    -     bool UseFPUForSpilling                         = false           {C2 product}
    +     bool UseFPUForSpilling                         = true            {C2 product}
    
        2
  •  6
  •   Benjamin Darfler    13 年前

    查看这篇博客文章,不需要深入研究代码就可以找到答案。 http://q-redux.blogspot.com/2011/01/inspecting-hotspot-jvm-options.html