< prev index next >

src/java.base/share/man/java.1

Print this page




1851 \-XX:ThreadStackSize=1024
1852 \f[R]
1853 .fi
1854 .PP
1855 This option is similar to \f[CB]\-Xss\f[R].
1856 .RE
1857 .TP
1858 .B \f[CB]\-XX:\-UseBiasedLocking\f[R]
1859 Disables the use of biased locking.
1860 Some applications with significant amounts of uncontended
1861 synchronization may attain significant speedups with this flag enabled,
1862 but applications with certain patterns of locking may see slowdowns.
1863 \&.
1864 .RS
1865 .PP
1866 By default, this option is enabled.
1867 .RE
1868 .TP
1869 .B \f[CB]\-XX:\-UseCompressedOops\f[R]
1870 Disables the use of compressed pointers.
1871 By default, this option is enabled, and compressed pointers are used
1872 when Java heap sizes are less than 32 GB.
1873 When this option is enabled, object references are represented as





1874 32\-bit offsets instead of 64\-bit pointers, which typically increases
1875 performance when running the application with Java heap sizes of less
1876 than 32 GB.
1877 This option works only for 64\-bit JVMs.
1878 .RS
1879 .PP
1880 It\[aq]s also possible to use compressed pointers when Java heap sizes
1881 are greater than 32 GB.
1882 See the \f[CB]\-XX:ObjectAlignmentInBytes\f[R] option.
1883 .RE
1884 .TP
1885 .B \f[CB]\-XX:\-UseContainerSupport\f[R]
1886 The VM now provides automatic container detection support, which allows
1887 the VM to determine the amount of memory and number of processors that
1888 are available to a Java process running in docker containers.
1889 It uses this information to allocate system resources.
1890 This support is only available on Linux x64 platforms.
1891 \ If supported, the default for this flag is\ \f[CB]true\f[R], and
1892 container support is enabled by default.
1893 \ It\ can be disabled with\ \f[CB]\-XX:\-UseContainerSupport\f[R].
1894 .RS
1895 .PP
1896 Unified Logging is available to help to diagnose issues related to this
1897 support.
1898 .PP
1899 Use \f[CB]\-Xlog:os+container=trace\f[R] for maximum logging of container
1900 information.
1901 See \f[B]Enable Logging with the JVM Unified Logging Framework\f[R] for a


3196 configuration.
3197 .RS
3198 .PP
3199 The following examples show how to set the size of allocated memory to 6
3200 MB using various units:
3201 .IP
3202 .nf
3203 \f[CB]
3204 \-XX:InitialHeapSize=6291456
3205 \-XX:InitialHeapSize=6144k
3206 \-XX:InitialHeapSize=6m
3207 \f[R]
3208 .fi
3209 .PP
3210 If you set this option to 0, then the initial size is set as the sum of
3211 the sizes allocated for the old generation and the young generation.
3212 The size of the heap for the young generation can be set using the
3213 \f[CB]\-XX:NewSize\f[R] option.
3214 .RE
3215 .TP
















3216 .B \f[CB]\-XX:InitialSurvivorRatio=\f[R]\f[I]ratio\f[R]
3217 Sets the initial survivor space ratio used by the throughput garbage
3218 collector (which is enabled by the \f[CB]\-XX:+UseParallelGC\f[R] and/or
3219 \f[CB]\-XX:+UseParallelOldGC\f[R] options).
3220 Adaptive sizing is enabled by default with the throughput garbage
3221 collector by using the \f[CB]\-XX:+UseParallelGC\f[R] and
3222 \f[CB]\-XX:+UseParallelOldGC\f[R] options, and the survivor space is
3223 resized according to the application behavior, starting with the initial
3224 value.
3225 If adaptive sizing is disabled (using the
3226 \f[CB]\-XX:\-UseAdaptiveSizePolicy\f[R] option), then the
3227 \f[CB]\-XX:SurvivorRatio\f[R] option should be used to set the size of the
3228 survivor space for the entire execution of the application.
3229 .RS
3230 .PP
3231 The following formula can be used to calculate the initial size of
3232 survivor space (S) based on the size of the young generation (Y), and
3233 the initial survivor space ratio (R):
3234 .RS
3235 .PP


3354 The amount of metadata for an application depends on the application
3355 itself, other running applications, and the amount of memory available
3356 on the system.
3357 .RS
3358 .PP
3359 The following example shows how to set the maximum class metadata size
3360 to 256 MB:
3361 .RS
3362 .PP
3363 \f[CB]\-XX:MaxMetaspaceSize=256m\f[R]
3364 .RE
3365 .RE
3366 .TP
3367 .B \f[CB]\-XX:MaxNewSize=\f[R]\f[I]size\f[R]
3368 Sets the maximum size (in bytes) of the heap for the young generation
3369 (nursery).
3370 The default value is set ergonomically.
3371 .RS
3372 .RE
3373 .TP


































































3374 .B \f[CB]\-XX:MaxTenuringThreshold=\f[R]\f[I]threshold\f[R]
3375 Sets the maximum tenuring threshold for use in adaptive GC sizing.
3376 The largest value is 15.
3377 The default value is 15 for the parallel (throughput) collector, and 6
3378 for the CMS collector.
3379 .RS
3380 .PP
3381 The following example shows how to set the maximum tenuring threshold to
3382 10:
3383 .RS
3384 .PP
3385 \f[CB]\-XX:MaxTenuringThreshold=10\f[R]
3386 .RE
3387 .RE
3388 .TP
3389 .B \f[CB]\-XX:MetaspaceSize=\f[R]\f[I]size\f[R]
3390 Sets the size of the allocated class metadata space that triggers a
3391 garbage collection the first time it\[aq]s exceeded.
3392 This threshold for a garbage collection is increased or decreased
3393 depending on the amount of metadata used.


3783 .PP
3784 Example:
3785 .PP
3786 \f[CB]\-Xlog:gc:garbage\-collection.log\f[R]
3787 .RE
3788 .TP
3789 .B \f[CB]\-XX:+FailOverToOldVerifier\f[R]
3790 Enables automatic failover to the old verifier when the new type checker
3791 fails.
3792 By default, this option is disabled and it\[aq]s ignored (that is,
3793 treated as disabled) for classes with a recent bytecode version.
3794 You can enable it only for classes with older versions of the bytecode.
3795 .RS
3796 .RE
3797 .TP
3798 .B \f[CB]\-XX:+FlightRecorder\f[R]
3799 Enables the use of Java Flight Recorder (JFR) during the runtime of the
3800 application.
3801 Since JDK 8u40 this option has not been required to use JFR.
3802 .RS







































3803 .RE
3804 .TP
3805 .B \f[CB]\-XX:+TraceClassLoading\f[R]
3806 Enables tracing of classes as they are loaded.
3807 By default, this option is disabled and classes aren\[aq]t traced.
3808 .RS
3809 .PP
3810 The replacement Unified Logging syntax is
3811 \f[CB]\-Xlog:class+load=\f[R]\f[I]level\f[R].
3812 See \f[B]Enable Logging with the JVM Unified Logging Framework\f[R]
3813 .PP
3814 Use \f[I]level\f[R]=\f[CB]info\f[R] for regular information, or
3815 \f[I]level\f[R]=\f[CB]debug\f[R] for additional information.
3816 In Unified Logging syntax, \f[CB]\-verbose:class\f[R] equals
3817 \f[CB]\-Xlog:class+load=info,class+unload=info\f[R].
3818 .RE
3819 .TP
3820 .B \f[CB]\-XX:+TraceClassLoadingPreorder\f[R]
3821 Enables tracing of all loaded classes in the order in which they\[aq]re
3822 referenced.




1851 \-XX:ThreadStackSize=1024
1852 \f[R]
1853 .fi
1854 .PP
1855 This option is similar to \f[CB]\-Xss\f[R].
1856 .RE
1857 .TP
1858 .B \f[CB]\-XX:\-UseBiasedLocking\f[R]
1859 Disables the use of biased locking.
1860 Some applications with significant amounts of uncontended
1861 synchronization may attain significant speedups with this flag enabled,
1862 but applications with certain patterns of locking may see slowdowns.
1863 \&.
1864 .RS
1865 .PP
1866 By default, this option is enabled.
1867 .RE
1868 .TP
1869 .B \f[CB]\-XX:\-UseCompressedOops\f[R]
1870 Disables the use of compressed pointers.
1871 By default, this option is enabled, and compressed pointers are used.
1872 This will automatically limit the maximum ergonomically determined Java
1873 heap size to the maximum amount of memory that can be covered by
1874 compressed pointers.
1875 By default this range is 32 GB.
1876 .RS
1877 .PP
1878 With compressed oops enabled, object references are represented as
1879 32\-bit offsets instead of 64\-bit pointers, which typically increases
1880 performance when running the application with Java heap sizes smaller
1881 than the compressed oops pointer range.
1882 This option works only for 64\-bit JVMs.

1883 .PP
1884 It\[aq]s possible to use compressed pointers with Java heap sizes
1885 greater than 32 GB.
1886 See the \f[CB]\-XX:ObjectAlignmentInBytes\f[R] option.
1887 .RE
1888 .TP
1889 .B \f[CB]\-XX:\-UseContainerSupport\f[R]
1890 The VM now provides automatic container detection support, which allows
1891 the VM to determine the amount of memory and number of processors that
1892 are available to a Java process running in docker containers.
1893 It uses this information to allocate system resources.
1894 This support is only available on Linux x64 platforms.
1895 \ If supported, the default for this flag is\ \f[CB]true\f[R], and
1896 container support is enabled by default.
1897 \ It\ can be disabled with\ \f[CB]\-XX:\-UseContainerSupport\f[R].
1898 .RS
1899 .PP
1900 Unified Logging is available to help to diagnose issues related to this
1901 support.
1902 .PP
1903 Use \f[CB]\-Xlog:os+container=trace\f[R] for maximum logging of container
1904 information.
1905 See \f[B]Enable Logging with the JVM Unified Logging Framework\f[R] for a


3200 configuration.
3201 .RS
3202 .PP
3203 The following examples show how to set the size of allocated memory to 6
3204 MB using various units:
3205 .IP
3206 .nf
3207 \f[CB]
3208 \-XX:InitialHeapSize=6291456
3209 \-XX:InitialHeapSize=6144k
3210 \-XX:InitialHeapSize=6m
3211 \f[R]
3212 .fi
3213 .PP
3214 If you set this option to 0, then the initial size is set as the sum of
3215 the sizes allocated for the old generation and the young generation.
3216 The size of the heap for the young generation can be set using the
3217 \f[CB]\-XX:NewSize\f[R] option.
3218 .RE
3219 .TP
3220 .B \f[CB]\-XX:InitialRAMPercentage=\f[R]\f[I]percent\f[R]
3221 Sets the initial amount of memory that the JVM will use for the Java
3222 heap before applying ergonomics heuristics as a percentage of the
3223 maximum amount determined as described in the \f[CB]\-XX:MaxRAM\f[R]
3224 option.
3225 The default value is 1.5625 percent.
3226 .RS
3227 .PP
3228 The following example shows how to set the percentage of the initial
3229 amount of memory used for the Java heap:
3230 .RS
3231 .PP
3232 \f[CB]\-XX:InitialRAMPercentage=5\f[R]
3233 .RE
3234 .RE
3235 .TP
3236 .B \f[CB]\-XX:InitialSurvivorRatio=\f[R]\f[I]ratio\f[R]
3237 Sets the initial survivor space ratio used by the throughput garbage
3238 collector (which is enabled by the \f[CB]\-XX:+UseParallelGC\f[R] and/or
3239 \f[CB]\-XX:+UseParallelOldGC\f[R] options).
3240 Adaptive sizing is enabled by default with the throughput garbage
3241 collector by using the \f[CB]\-XX:+UseParallelGC\f[R] and
3242 \f[CB]\-XX:+UseParallelOldGC\f[R] options, and the survivor space is
3243 resized according to the application behavior, starting with the initial
3244 value.
3245 If adaptive sizing is disabled (using the
3246 \f[CB]\-XX:\-UseAdaptiveSizePolicy\f[R] option), then the
3247 \f[CB]\-XX:SurvivorRatio\f[R] option should be used to set the size of the
3248 survivor space for the entire execution of the application.
3249 .RS
3250 .PP
3251 The following formula can be used to calculate the initial size of
3252 survivor space (S) based on the size of the young generation (Y), and
3253 the initial survivor space ratio (R):
3254 .RS
3255 .PP


3374 The amount of metadata for an application depends on the application
3375 itself, other running applications, and the amount of memory available
3376 on the system.
3377 .RS
3378 .PP
3379 The following example shows how to set the maximum class metadata size
3380 to 256 MB:
3381 .RS
3382 .PP
3383 \f[CB]\-XX:MaxMetaspaceSize=256m\f[R]
3384 .RE
3385 .RE
3386 .TP
3387 .B \f[CB]\-XX:MaxNewSize=\f[R]\f[I]size\f[R]
3388 Sets the maximum size (in bytes) of the heap for the young generation
3389 (nursery).
3390 The default value is set ergonomically.
3391 .RS
3392 .RE
3393 .TP
3394 .B \f[CB]\-XX:MaxRAM=\f[R]\f[I]size\f[R]
3395 Sets the maximum amount of memory that the JVM may use for the Java heap
3396 before applying ergonomics heuristics.
3397 The default value is the maximum amount of available memory to the JVM
3398 process or 128 GB, whichever is lower.
3399 .RS
3400 .PP
3401 The maximum amount of available memory to the JVM process is the minimum
3402 of the machine\[aq]s physical memory and any constraints set by the
3403 environment (e.g.
3404 container).
3405 .PP
3406 Specifying this option disables automatic use of compressed oops if the
3407 combined result of this and other options influencing the maximum amount
3408 of memory is larger than the range of memory addressable by compressed
3409 oops.
3410 See \f[CB]\-XX:UseCompressedOops\f[R] for further information about
3411 compressed oops.
3412 .PP
3413 The following example shows how to set the maximum amount of available
3414 memory for sizing the Java heap to 2 GB:
3415 .RS
3416 .PP
3417 \f[CB]\-XX:MaxRAM=2G\f[R]
3418 .RE
3419 .RE
3420 .TP
3421 .B \f[CB]\-XX:MaxRAMPercentage=\f[R]\f[I]percent\f[R]
3422 Sets the maximum amount of memory that the JVM may use for the Java heap
3423 before applying ergonomics heuristics as a percentage of the maximum
3424 amount determined as described in the \f[CB]\-XX:MaxRAM\f[R] option.
3425 The default value is 25 percent.
3426 .RS
3427 .PP
3428 Specifying this option disables automatic use of compressed oops if the
3429 combined result of this and other options influencing the maximum amount
3430 of memory is larger than the range of memory addressable by compressed
3431 oops.
3432 See \f[CB]\-XX:UseCompressedOops\f[R] for further information about
3433 compressed oops.
3434 .PP
3435 The following example shows how to set the percentage of the maximum
3436 amount of memory used for the Java heap:
3437 .RS
3438 .PP
3439 \f[CB]\-XX:MaxRAMPercentage=75\f[R]
3440 .RE
3441 .RE
3442 .TP
3443 .B \f[CB]\-XX:MinRAMPercentage=\f[R]\f[I]percent\f[R]
3444 Sets the maximum amount of memory that the JVM may use for the Java heap
3445 before applying ergonomics heuristics as a percentage of the maximum
3446 amount determined as described in the \f[CB]\-XX:MaxRAM\f[R] option for
3447 small heaps.
3448 A small heap is a heap of approximately 125 MB.
3449 The default value is 50 percent.
3450 .RS
3451 .PP
3452 The following example shows how to set the percentage of the maximum
3453 amount of memory used for the Java heap for small heaps:
3454 .RS
3455 .PP
3456 \f[CB]\-XX:MinRAMPercentage=75\f[R]
3457 .RE
3458 .RE
3459 .TP
3460 .B \f[CB]\-XX:MaxTenuringThreshold=\f[R]\f[I]threshold\f[R]
3461 Sets the maximum tenuring threshold for use in adaptive GC sizing.
3462 The largest value is 15.
3463 The default value is 15 for the parallel (throughput) collector, and 6
3464 for the CMS collector.
3465 .RS
3466 .PP
3467 The following example shows how to set the maximum tenuring threshold to
3468 10:
3469 .RS
3470 .PP
3471 \f[CB]\-XX:MaxTenuringThreshold=10\f[R]
3472 .RE
3473 .RE
3474 .TP
3475 .B \f[CB]\-XX:MetaspaceSize=\f[R]\f[I]size\f[R]
3476 Sets the size of the allocated class metadata space that triggers a
3477 garbage collection the first time it\[aq]s exceeded.
3478 This threshold for a garbage collection is increased or decreased
3479 depending on the amount of metadata used.


3869 .PP
3870 Example:
3871 .PP
3872 \f[CB]\-Xlog:gc:garbage\-collection.log\f[R]
3873 .RE
3874 .TP
3875 .B \f[CB]\-XX:+FailOverToOldVerifier\f[R]
3876 Enables automatic failover to the old verifier when the new type checker
3877 fails.
3878 By default, this option is disabled and it\[aq]s ignored (that is,
3879 treated as disabled) for classes with a recent bytecode version.
3880 You can enable it only for classes with older versions of the bytecode.
3881 .RS
3882 .RE
3883 .TP
3884 .B \f[CB]\-XX:+FlightRecorder\f[R]
3885 Enables the use of Java Flight Recorder (JFR) during the runtime of the
3886 application.
3887 Since JDK 8u40 this option has not been required to use JFR.
3888 .RS
3889 .RE
3890 .TP
3891 .B \f[CB]\-XX:InitialRAMFraction=\f[R]\f[I]ratio\f[R]
3892 Sets the initial amount of memory that the JVM may use for the Java heap
3893 before applying ergonomics heuristics as a ratio of the maximum amount
3894 determined as described in the \f[CB]\-XX:MaxRAM\f[R] option.
3895 The default value is 64.
3896 .RS
3897 .PP
3898 Use the option \f[CB]\-XX:InitialRAMPercentage\f[R] instead.
3899 .RE
3900 .TP
3901 .B \f[CB]\-XX:MaxRAMFraction=\f[R]\f[I]ratio\f[R]
3902 Sets the maximum amount of memory that the JVM may use for the Java heap
3903 before applying ergonomics heuristics as a fraction of the maximum
3904 amount determined as described in the \f[CB]\-XX:MaxRAM\f[R] option.
3905 The default value is 4.
3906 .RS
3907 .PP
3908 Specifying this option disables automatic use of compressed oops if the
3909 combined result of this and other options influencing the maximum amount
3910 of memory is larger than the range of memory addressable by compressed
3911 oops.
3912 See \f[CB]\-XX:UseCompressedOops\f[R] for further information about
3913 compressed oops.
3914 .PP
3915 Use the option \f[CB]\-XX:MaxRAMPercentage\f[R] instead.
3916 .RE
3917 .TP
3918 .B \f[CB]\-XX:MinRAMFraction=\f[R]\f[I]ratio\f[R]
3919 Sets the maximum amount of memory that the JVM may use for the Java heap
3920 before applying ergonomics heuristics as a fraction of the maximum
3921 amount determined as described in the \f[CB]\-XX:MaxRAM\f[R] option for
3922 small heaps.
3923 A small heap is a heap of approximately 125 MB.
3924 The default value is 2.
3925 .RS
3926 .PP
3927 Use the option \f[CB]\-XX:MinRAMPercentage\f[R] instead.
3928 .RE
3929 .TP
3930 .B \f[CB]\-XX:+TraceClassLoading\f[R]
3931 Enables tracing of classes as they are loaded.
3932 By default, this option is disabled and classes aren\[aq]t traced.
3933 .RS
3934 .PP
3935 The replacement Unified Logging syntax is
3936 \f[CB]\-Xlog:class+load=\f[R]\f[I]level\f[R].
3937 See \f[B]Enable Logging with the JVM Unified Logging Framework\f[R]
3938 .PP
3939 Use \f[I]level\f[R]=\f[CB]info\f[R] for regular information, or
3940 \f[I]level\f[R]=\f[CB]debug\f[R] for additional information.
3941 In Unified Logging syntax, \f[CB]\-verbose:class\f[R] equals
3942 \f[CB]\-Xlog:class+load=info,class+unload=info\f[R].
3943 .RE
3944 .TP
3945 .B \f[CB]\-XX:+TraceClassLoadingPreorder\f[R]
3946 Enables tracing of all loaded classes in the order in which they\[aq]re
3947 referenced.


< prev index next >