Java HotSpot VM 参数

    技术2022-05-11  27

    Java HotSpot VM参数类别

     

    以-X开头的参数是非标准的(不保证在所有的VM实现里都支持),并且在后续的JDK版本发布中修改后不作通告。以-XX开头的参数是不稳定的,并且它也不推荐,只是临时使用。这些参数同样在修改后不作通告。

     

    一些有用的-XX参数

     

    这些参数的默认值在不同的平台上可能会有不同的值。不同平台的不同默认值列在描述里。

    Boolean参数可以通过-XX:+<option>进行开启(true),通过-XX:-<option>进行关闭(false)。Numeric参数可以通过-XX:<option>=<number>进行设置数据可以包含'm'或'M'来表示兆,'k'或'K'表示千字节。'g'或'G'表示千兆。(例如, 32k等于32768)。String参数可以通过-XX:<option>=<string>进行设置, 它通常用来指文件,路径或一些命令的列表。

     

    行为参数参数及默认值                                    描述

    -XX:-AllowUserSignalHandlers Do not complain if the application installs signal handlers. (Relevant to Solaris and Linux only.)-XX:AltStackSize=16384Alternate signal stack size (in Kbytes). (Relevant to Solaris only, removed from 5.0.)-XX:-DisableExplicitGCDisable calls to System.gc(), JVM still performs garbage collection when necessary.-XX:+FailOverToOldVerifierFail over to old verifier when the new type checker fails. (Introduced in 6.)-XX:+HandlePromotionFailureThe youngest generation collection does not require a guarantee of full promotion of all live objects. (Introduced in 1.4.2update 11) [5.0 and earlier: false.]-XX:+MaxFDLimitBump the number of file descriptors to max. (Relevant to Solaris only.)-XX:PreBlockSpin=10Spin count variable for use with -XX:+UseSpinning. Controls themaximum spin iterations allowed before entering operating system threadsynchronization code. (Introduced in 1.4.2.)-XX:-RelaxAccessControlCheck Relax the access control checks in the verifier. (Introducedin 6.)-XX:+ScavengeBeforeFullGCDo young generation GC prior to a full GC. (Introduced in 1.4.1.)-XX:+UseAltSigsUse alternate signals instead of SIGUSR1 and SIGUSR2 for VMinternal signals. (Introduced in 1.3.1 update 9, 1.4.1. Relevant toSolaris only.)-XX:+UseBoundThreadsBind user level threads to kernel threads. (Relevant toSolaris only.)-XX:-UseConcMarkSweepGCUse concurrent mark-sweep collection for the old generation.(Introduced in 1.4.1)-XX:+UseGCOverheadLimitUse a policy that limits the proportion of the VM's time that isspent in GC before an OutOfMemory error is thrown. (Introduced in 6.)-XX:+UseLWPSynchronizationUse LWP-based instead of thread based synchronization. (Introduced in 1.4.0. Relevant to Solaris only.)-XX:-UseParallelGCUse parallel garbage collection for scavenges. (Introduced in 1.4.1)-XX:-UseParallelOldGCUse parallel garbage collection for the full collections. Enablingthis option automatically sets -XX:+UseParallelGC. (Introduced in 5.0update 6.)-XX:-UseSerialGCUse serial garbage collection. (Introduced in 5.0.)-XX:-UseSpinningEnable naive spinning on Java monitor before entering operatingsystem thread synchronizaton code. (Relevant to 1.4.2 and 5.0 only.)[1.4.2, multi-processor Windows platforms: true]-XX:+UseTLABUse thread-local object allocation (Introduced in 1.4.0, known asUseTLE prior to that.) [1.4.2 and earlier, x86 or with -client: false]-XX:+UseSplitVerifierUse the newtype checker with StackMapTable attributes. (Introduced in 5.0.)[5.0: false]-XX:+UseThreadPrioritiesUse native thread priorities.-XX:+UseVMInterruptibleIOThread interrupt before or with EINTR for I/O operations results in OS_INTRPT. (Introduced in 6. Relevant to Solaris only.)

     


    性能参数

     

    参数及默认值                               描述

    -XX:+AggressiveOptsTurn on point performance compiler optimizations that are expectedto be default in upcoming releases. (Introduced in 5.0 update 6.)-XX:CompileThreshold=10000Number of method invocations/branches before compiling [-client: 1,500]-XX:LargePageSizeInBytes=4mSets the large page size used for the Java heap. (Introduced in 1.4.0 update 1.) [amd64: 2m.]-XX:MaxHeapFreeRatio=70Maximum percentage of heap free after GC to avoid shrinking.-XX:MaxNewSize=sizeMaximum size of new generation (in bytes). Since 1.4, MaxNewSize iscomputed as a function of NewRatio. [1.3.1 Sparc: 32m; 1.3.1 x86:2.5m.]-XX:MaxPermSize=64mSize of the Permanent Generation.  [5.0 and newer: 64 bit VMs are scaled 30% larger; 1.4 amd64: 96m; 1.3.1 -client: 32m.]-XX:MinHeapFreeRatio=40Minimum percentage of heap free after GC to avoid expansion.-XX:NewRatio=2Ratio of new/old generation sizes. [Sparc -client: 8; x86 -server: 8; x86 -client: 12.]-client: 4 (1.3) 8 (1.3.1+), x86: 12]-XX:NewSize=2.125mDefault size of new generation (in bytes) [5.0 and newer: 64 bit VMs are scaled 30% larger; x86: 1m; x86, 5.0 and older: 640k]-XX:ReservedCodeCacheSize=32m Reserved code cache size (in bytes) - maximum code cache size.[Solaris 64-bit, amd64, and -server x86: 48m; in 1.5.0_06 and earlier,Solaris 64-bit and and64: 1024m.]-XX:SurvivorRatio=8Ratio of eden/survivor space size [Solaris amd64: 6; Sparc in 1.3.1: 25; other Solaris platforms in 5.0 and earlier: 32]-XX:TargetSurvivorRatio=50Desired percentage of survivor space used after scavenge.-XX:ThreadStackSize=512Thread Stack Size (in Kbytes). (0 means use default stack size)[Sparc: 512; Solaris x86: 320 (was 256 prior in 5.0 and earlier); Sparc64 bit: 1024; Linux amd64: 1024 (was 0 in 5.0 and earlier); allothers 0.]-XX:+UseBiasedLockingEnable biased locking. For more details, see this tuningexample. (Introduced in 5.0 update 6.) [5.0: false]-XX:+UseFastAccessorMethodsUse optimized versions of Get<Primitive>Field.-XX:-UseISMUse Intimate Shared Memory. [Not accepted for non-Solarisplatforms.] For details, see Intimate Shared Memory.-XX:+UseLargePagesUse large page memory. (Introduced in 5.0 update 5.) For details, see Java Support for Large MemoryPages.-XX:+UseMPSS

    Use Multiple Page Size Support w/4mb pages for the heap. Do not usewith ISM as this replaces the need for ISM. (Introduced in 1.4.0 update1, Relevant to Solaris 9 and newer.) [1.4.1and earlier: false


    调试参数

     

    参数及默认值                                                描述

    -XX:-CITimePrints time spent in JIT Compiler. (Introduced in 1.4.0.)-XX:ErrorFile=./hs_err_pid<pid>.logIf an error occurs, save the error data to this file. (Introduced in 6.)-XX:-ExtendedDTraceProbesEnable performance-impacting dtrace probes. (Introduced in 6.Relevant to Solaris only.)-XX:-HeapDumpOnOutOfMemoryErrorDump heap to file when java.lang.OutOfMemoryError is thrown. Manageable.(Introduced in 1.4.2 update 12, 5.0 update 7.)-XX:OnError="<cmd args>;<cmd args>" Run user-defined commands on fatal error. (Introduced in1.4.2 update 9.)-XX:OnOutOfMemoryError="<cmd args>;<cmd args>" Run user-defined commands when an OutOfMemoryError is first thrown. (Introduced in 1.4.2 update 12, 6)-XX:-PrintClassHistogramPrint a histogram of class instances on Ctrl-Break. Manageable. (Introduced in 1.4.2.) The jmap -histo command provides equivalent functionality.-XX:-PrintConcurrentLocksPrint java.util.concurrent locks in Ctrl-Break thread dump. Manageable.(Introduced in 6.) The jstack -l command provides equivalent functionality.-XX:-PrintCommandLineFlagsPrint flags that appeared on the command line. (Introduced in 5.0.)-XX:-PrintCompilationPrint message when a method is compiled.-XX:-PrintGCPrint messages at garbage collection. Manageable.-XX:-PrintGC DetailsPrint more details at garbage collection. Manageable. (Introduced in 1.4.0.)-XX:-PrintGCTimeStampsPrint timestamps at garbage collection. Manageable(Introduced in 1.4.0.)-XX:-PrintTenuringDistributionPrint tenuring age information.-XX:-TraceClassLoadingTrace loading of classes.-XX:-TraceClassLoadingPreorderTrace all classes loaded in order referenced (not loaded). (Introduced in 1.4.2.)-XX:-TraceClassResolutionTrace constant pool resolutions.(Introduced in 1.4.2.)-XX:-TraceClassUnloadingTrace unloading of classes.-XX:-TraceLoaderConstraintsTrace recording of loader constraints. (Introduced in 6.)

     


    相关参考:

    java虚拟机参数说明The most complete list of -XX options for Java 6 JVM


    最新回复(0)