UseAdaptiveSizePolicy and other jvm opts

后端 未结 2 1823
感动是毒
感动是毒 2020-12-25 13:43

The JVM option -XX:+UseAdaptiveSizePolicy is defined as part of the hotspot ergonomics and can be specified with throughput or the pause time priority.

However, my q

相关标签:
2条回答
  • 2020-12-25 14:22

    My experience with combinations of non-standard options (-X) is that they behave slightly different among JVM versions and platforms.

    If you want to be really sure about which is the result of a set of options, check the real JVM values with jmap -heap if possible, e.g.

    Client compiler detected.
    JVM version is 1.5.0_14-b03
    
    using thread-local object allocation.
    Mark Sweep Compact GC
    
    Heap Configuration:
        MinHeapFreeRatio = 40
        MaxHeapFreeRatio = 70
        MaxHeapSize = 209715200 (200.0MB)
        NewSize = 2228224 (2.125MB)
        MaxNewSize = 4294901760 (4095.9375MB)
        OldSize = 1441792 (1.375MB)
        NewRatio = 8
        SurvivorRatio = 32
        PermSize = 8388608 (8.0MB)
        MaxPermSize = 134217728 (128.0MB)
    [...]
    
    0 讨论(0)
  • 2020-12-25 14:37

    Just FYI, -XX:+UseAdaptiveSizePolicy is enabled by default in any recent version of the Sun JVM.

    Also, I found an article:

    Avoid trouble: -XX:SurvivorRatio= option is incompatible with the JVM parameter -XX:+UseAdaptiveSizePolicy. Please use either one according to your situation.

    I couldn't find a definitive answer for NewSize, but it appears it sets the initial young generation size, not permanent, so it's not mutually exclusive with UseAdaptiveSizePolicy.

    However, here's a bunch of articles:

    • http://download.oracle.com/javase/1.5.0/docs/guide/vm/gc-ergonomics.html
    • http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html
    • http://developers.sun.com/mobility/midp/articles/garbagecollection2/

    In most cases, however, if you're tuning SurvivorRatio will want to tune NewSize and MaxNewSize.

    0 讨论(0)
提交回复
热议问题