Search code examples
garbage-collectionjvmjrockit

What is the default nursery size for JRockit R27.6.0_1.6.0_05 when -XgcPrio:pausetime is used?


JRockit R28 documentation says that the default value of nursery size (-Xns) is "10 MB per logical processor" when -Xgc:pausetime flag is used. Elsewhere in the same document, they say that -XgcPrio is now deprecated in favor of -Xgc, which from the look of things, is the same configuration.

JRockit R27 documentation says that the default value of nursery size (-Xns) is "50% of free heap" when -Xgcprio:pausetime flag is used.

I have a customer using R27.6.0_1.6.0_05. I tested on R27.5.0-110_o-99226-1.6.0_03-20080528-1505-linux-ia32, R27.6.5-32_o-121899-1.6.0_14-20091001-2113-linux-ia32 and R28.1.0-123-138454-1.6.0_20-20101014-1350-linux-ia32 - the default nursery size seems to 10MB when -XgcPrio:pausetime is used. Unfortunately, I cannot find binary for the exact JRockit version from Oracle website. So, does anyone know what the default version nursery size is on R27.6.0_1.6.0_05?

I am not familiar with JRockit, but I am surprised that a parameter such as this had a huge change in default value between two releases.


Solution

  • The documentation for -Xns in R27 is wrong. Default values for -Xns are (both in R27 and R28):

    -Xgcprio:pausetime: 10 MB per logical processor
    -Xgcprio:throughput: 50% of free heap

    Note, however, that when using -XgcPrio the JVM can switch between having a nursery and not having a nursery. The default values apply when a nursery exists.

    "Elsewhere in the same document, they say that -XgcPrio is now deprecated in favor of -Xgc, which from the look of things, is the same configuration."

    Yes, in R28 -Xgc:pausetime is the same thing as -XgcPrio:pausetime.