`
astroxl
  • 浏览: 52811 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

The most complete list of -XX options for Java 6 JVM

    博客分类:
  • Java
阅读更多

http://www.cnblogs.com/totti19841106/archive/2009/01/12/1374274.html

 

The most complete list of -XX options for Java 6 JVM

  • product flags are always settable / visible
  • develop flags are settable / visible only during development and are constant in the PRODUCT version
  • notproduct flags are settable / visible only during development and are not declared in the PRODUCT version <!-- // A flag must be declared with one of the following types: // bool, intx, uintx, ccstr. // The type "ccstr" is an alias for "const char*" and is used // only in this file, because the macrology requires single-token type names. --> <!-- #define RUNTIME_FLAGS(develop, develop_pd, product, product_pd, diagnostic, notproduct, manageable, product_rw) \ -->
  • diagnostic options not meant for VM tuning or for product modes. They are to be used for VM quality assurance or field diagnosis of VM bugs. They are hidden so that users will not be encouraged to try them as if they were VM ordinary execution options. However, they are available in the product version of the VM. Under instruction from support engineers, VM customers can turn them on to collect diagnostic information about VM problems. To use a VM diagnostic option, you must first specify +UnlockDiagnosticVMOptions. (This master switch also affects the behavior of -Xprintflags.)
  • manageable flags are writeable external product flags. They are dynamically writeable through the JDK management interface (com.sun.management.HotSpotDiagnosticMXBean API) and also through JConsole. These flags are external exported interface (see CCC). The list of manageable flags can be queried programmatically through the management interface. <!-- // A flag can be made as "manageable" only if // - the flag is defined in a CCC as an external exported interface. // - the VM implementation supports dynamic setting of the flag. // This implies that the VM must *always* query the flag variable // and not reuse state related to the flag state at any given time. // - you want the flag to be queried programmatically by the customers. -->
  • product_rw flags are writeable internal product flags. They are like "manageable" flags but for internal/private use. The list of product_rw flags are internal/private flags which may be changed/removed in a future release. It can be set through the management interface to get/set value when the name of flag is supplied. <!-- // A flag can be made as "product_rw" only if // - the VM implementation supports dynamic setting of the flag. // This implies that the VM must *always* query the flag variable // and not reuse state related to the flag state at any given time. // Note that when there is a need to support develop flags to be writeable, // it can be done in the same way as product_rw. -->
  • product_pd
  • develop_pd
Name Description Default Type
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics
product
UseMembar (Unstable) Issues membars on thread state transitions false bool
PrintCommandLineFlags Prints flags that appeared on the command line false bool
JavaMonitorsInStackTrace Print info. about Java monitor locks when the stacks are dumped true bool
LargePageSizeInBytes Large page size (0 to let VM choose the page size 0 uintx
LargePageHeapSizeThreshold Use large pages if max heap is at least this big 128*M uintx
ForceTimeHighResolution Using high time resolution(For Win32 only) false bool
PrintVMQWaitTime Prints out the waiting time in VM operation queue false bool
PrintJNIResolving Used to implement -v:jni false bool
UseInlineCaches Use Inline Caches for virtual calls true bool
UseCompilerSafepoints Stop at safepoints in compiled code true bool
UseSplitVerifier use split verifier with StackMapTable attributes true bool
FailOverToOldVerifier fail over to old verifier when split verifier fails true bool
SuspendRetryCount Maximum retry count for an external suspend request 50 intx
SuspendRetryDelay Milliseconds to delay per retry (* current_retry_count) 5 intx
UseSuspendResumeThreadLists Enable SuspendThreadList and ResumeThreadList true bool
MaxFDLimit Bump the number of file descriptors to max in solaris. true bool
BytecodeVerificationRemote Enables the Java bytecode verifier for remote classes true bool
BytecodeVerificationLocal Enables the Java bytecode verifier for local classes false bool
PrintGCApplicationConcurrentTime Print the time the application has been running false bool
PrintGCApplicationStoppedTime Print the time the application has been stopped false bool
ShowMessageBoxOnError Keep process alive on VM fatal error false bool
SuppressFatalErrorMessage Do NO Fatal Error report [Avoid deadlock] false bool
OnError Run user-defined commands on fatal error; see VMError.cpp for examples "" ccstr
OnOutOfMemoryError Run user-defined commands on first java.lang.OutOfMemoryError "" ccstr
PrintCompilation Print compilations false bool
StackTraceInThrowable Collect backtrace in throwable when exception happens true bool
OmitStackTraceInFastThrow Omit backtraces for some 'hot' exceptions in optimized code true bool
ProfilerPrintByteCodeStatistics Prints byte code statictics when dumping profiler output false bool
ProfilerRecordPC Collects tick for each 16 byte interval of compiled code false bool
ProfileVM Profiles ticks that fall within VM (either in the VM Thread or VM code called through stubs) false bool
ProfileIntervals Prints profiles for each interval (see ProfileIntervalsTicks) false bool
RegisterFinalizersAtInit Register finalizable objects at end of Object. or after allocation. true bool
ClassUnloading Do unloading of classes true bool
ConvertYieldToSleep Converts yield to a sleep of MinSleepInterval to simulate Win32 behavior (SOLARIS only) false bool
UseBoundThreads Bind user level threads to kernel threads (for SOLARIS only) true bool
UseLWPSynchronization Use LWP-based instead of libthread-based synchronization (SPARC only) true bool
SyncKnobs (Unstable) Various monitor synchronization tunables "" ccstr
EmitSync (Unsafe,Unstable) Controls emission of inline sync fast-path code 0 intx
AlwaysInflate (Unstable) Force inflation 0 intx
Atomics (Unsafe,Unstable) Diagnostic - Controls emission of atomics 0 intx
EmitLFence (Unsafe,Unstable) Experimental 0 intx
AppendRatio (Unstable) Monitor queue fairness" ) product(intx, SyncFlags, 0,(Unsafe,Unstable) Experimental Sync flags" ) product(intx, SyncVerbose, 0,(Unstable)" ) product(intx, ClearFPUAtPark, 0,(Unsafe,Unstable)" ) product(intx, hashCode, 0, (Unstable) select hashCode generation algorithm" ) product(intx, WorkAroundNPTLTimedWaitHang, 1, (Unstable, Linux-specific)" avoid NPTL-FUTEX hang pthread_cond_timedwait" ) product(bool, FilterSpuriousWakeups , true, Prevent spurious or premature wakeups from object.wait" (Solaris only) 11 intx
AdjustConcurrency call thr_setconcurrency at thread create time to avoid LWP starvation on MP systems (For Solaris Only) false bool
ReduceSignalUsage Reduce the use of OS signals in Java and/or the VM false bool
AllowUserSignalHandlers Do not complain if the application installs signal handlers (Solaris & Linux only) false bool
UseSignalChaining Use signal-chaining to invoke signal handlers installed by the application (Solaris & Linux only) true bool
UseAltSigs Use alternate signals instead of SIGUSR1 & SIGUSR2 for VM internal signals. (Solaris only) false bool
UseSpinning Use spinning in monitor inflation and before entry false bool
PreSpinYield Yield before inner spinning loop false bool
PostSpinYield Yield after inner spinning loop true bool
AllowJNIEnvProxy Allow JNIEnv proxies for jdbx false bool
JNIDetachReleasesMonitors JNI DetachCurrentThread releases monitors owned by thread true bool
RestoreMXCSROnJNICalls Restore MXCSR when returning from JNI calls false bool
CheckJNICalls Verify all arguments to JNI calls false bool
UseFastJNIAccessors Use optimized versions of Get Field true bool
EagerXrunInit Eagerly initialize -Xrun libraries; allows startup profiling, but not all -Xrun libraries may support the state of the VM at this time false bool
PreserveAllAnnotations Preserve RuntimeInvisibleAnnotations as well as RuntimeVisibleAnnotations false bool
LazyBootClassLoader Enable/disable lazy opening of boot class path entries true bool
UseBiasedLocking Enable biased locking in JVM true bool
BiasedLockingStartupDelay Number of milliseconds to wait before enabling biased locking 4000 intx
BiasedLockingBulkRebiasThreshold Threshold of number of revocations per type to try to rebias all objects in the heap of that type 20 intx
BiasedLockingBulkRevokeThreshold Threshold of number of revocations per type to permanently revoke biases of all objects in the heap of that type 40 intx
BiasedLockingDecayTime Decay time (in milliseconds) to re-enable bulk rebiasing of a type after previous bulk rebias 25000 intx
TraceJVMTI Trace flags for JVMTI functions and events "" ccstr
StressLdcRewrite Force ldc -> ldc_w rewrite during RedefineClasses false bool
TraceRedefineClasses Trace level for JVMTI RedefineClasses 0 intx
VerifyMergedCPBytecodes Verify bytecodes after RedefineClasses constant pool merging true bool
HPILibPath Specify alternate path to HPI library "" ccstr
TraceClassResolution Trace all constant pool resolutions (for debugging) false bool
TraceBiasedLocking Trace biased locking in JVM false bool
TraceMonitorInflation Trace monitor inflation in JVM false bool
Use486InstrsOnly Use 80486 Compliant instruction subset false bool
UseSerialGC Tells whether the VM should use serial garbage collector false bool
UseParallelGC Use the Parallel Scavenge garbage collector false bool
UseParallelOldGC Use the Parallel Old garbage collector false bool
UseParallelOldGCCompacting In the Parallel Old garbage collector use parallel compaction true bool
UseParallelDensePrefixUpdate In the Parallel Old garbage collector use parallel dense" prefix update true bool
HeapMaximumCompactionInterval How often should we maximally compact the heap (not allowing any dead space) 20 uintx
HeapFirstMaximumCompactionCount The collection count for the first maximum compaction 3 uintx
UseMaximumCompactionOnSystemGC In the Parallel Old garbage collector maximum compaction for a system GC true bool
ParallelOldDeadWoodLimiterMean The mean used by the par compact dead wood" limiter (a number between 0-100). 50 uintx
ParallelOldDeadWoodLimiterStdDev The standard deviation used by the par compact dead wood" limiter (a number between 0-100). 80 uintx
UseParallelOldGCDensePrefix Use a dense prefix with the Parallel Old garbage collector true bool
ParallelGCThreads Number of parallel threads parallel gc will use 0 uintx
ParallelCMSThreads Max number of threads CMS will use for concurrent work 0 uintx
YoungPLABSize Size of young gen promotion labs (in HeapWords) 4096 uintx
OldPLABSize Size of old gen promotion labs (in HeapWords) 1024 uintx
GCTaskTimeStampEntries Number of time stamp entries per gc worker thread 200 uintx
AlwaysTenure Always tenure objects in eden. (ParallelGC only) false bool
NeverTenure Never tenure objects in eden, May tenure on overflow" (ParallelGC only) false bool
ScavengeBeforeFullGC Scavenge youngest generation before each full GC," used with UseParallelGC true bool
UseConcMarkSweepGC Use Concurrent Mark-Sweep GC in the old generation false bool
ExplicitGCInvokesConcurrent A System.gc() request invokes a concurrent collection;" (effective only when UseConcMarkSweepGC) false bool
UseCMSBestFit Use CMS best fit allocation strategy true bool
UseCMSCollectionPassing Use passing of collection from background to foreground true bool
UseParNewGC Use parallel threads in the new generation. false bool
ParallelGCVerbose Verbose output for parallel GC. false bool
ParallelGCBufferWastePct wasted fraction of parallel allocation buffer. 10 intx
ParallelGCRetainPLAB Retain parallel allocation buffers across scavenges. true bool
TargetPLABWastePct target wasted space in last buffer as pct of overall allocation 10 intx
PLABWeight Percentage (0-100) used to weight the current sample when" computing exponentially decaying average for ResizePLAB. 75 uintx
ResizePLAB Dynamically resize (survivor space) promotion labs true bool
PrintPLAB Print (survivor space) promotion labs sizing decisions false bool
ParGCArrayScanChunk Scan a subset and push remainder, if array is bigger than this 50 intx
ParGCDesiredObjsFromOverflowList The desired number of objects to claim from the overflow list 20 intx
CMSParPromoteBlocksToClaim Number of blocks to attempt to claim when refilling CMS LAB for parallel GC. 50 uintx
AlwaysPreTouch It forces all freshly committed pages to be pre-touched. false bool
CMSUseOldDefaults A flag temporarily introduced to allow reverting to some older" default settings; older as of 6.0 false bool
CMSYoungGenPerWorker The amount of young gen chosen by default per GC worker thread available 16*M intx
CMSIncrementalMode Whether CMS GC should operate in \"incremental\" mode false bool
CMSIncrementalDutyCycle CMS incremental mode duty cycle (a percentage, 0-100). If" CMSIncrementalPacing is enabled, then this is just the initial" value 10 uintx
CMSIncrementalPacing Whether the CMS incremental mode duty cycle should be automatically adjusted true bool
CMSIncrementalDutyCycleMin Lower bound on the duty cycle when CMSIncrementalPacing is" enabled (a percentage, 0-100). 0 uintx
CMSIncrementalSafetyFactor Percentage (0-100) used to add conservatism when computing the" duty cycle. 10 uintx
CMSIncrementalOffset Percentage (0-100) by which the CMS incremental mode duty cycle" is shifted to the right within the period between young GCs 0 uintx
CMSExpAvgFactor Percentage (0-100) used to weight the current sample when" computing exponential averages for CMS statistics. 25 uintx
CMS_FLSWeight Percentage (0-100) used to weight the current sample when" computing exponentially decating averages for CMS FLS statistics. 50 uintx
CMS_FLSPadding The multiple of deviation from mean to use for buffering" against volatility in free list demand. 2 uintx
FLSCoalescePolicy CMS: Aggression level for coalescing, increasing from 0 to 4 2 uintx
CMS_SweepWeight Percentage (0-100) used to weight the current sample when" computing exponentially decaying average for inter-sweep duration. 50 uintx
CMS_SweepPadding The multiple of deviation from mean to use for buffering" against volatility in inter-sweep duration. 2 uintx
CMS_SweepTimerThresholdMillis Skip block flux-rate sampling for an epoch unless inter-sweep duration exceeds this threhold in milliseconds 10 uintx
CMSClassUnloadingEnabled Whether class unloading enabled when using CMS GC false bool
CMSCompactWhenClearAllSoftRefs Compact when asked to collect CMS gen with clear_all_soft_refs true bool
UseCMSCompactAtFullCollection Use mark sweep compact at full collections true bool
CMSFullGCsBeforeCompaction Number of CMS full collection done before compaction if > 0 0 uintx
CMSIndexedFreeListReplenish Replenish and indexed free list with this number of chunks 4 uintx
CMSLoopWarn Warn in case of excessive CMS looping false bool
CMSMarkStackSize Size of CMS marking stack 32*K uintx
CMSMarkStackSizeMax Max size of CMS marking stack 4*M uintx
CMSMaxAbortablePrecleanLoops (Temporary, subject to experimentation)" Maximum number of abortable preclean iterations, if > 0 0 uintx
CMSMaxAbortablePrecleanTime (Temporary, subject to experimentation)" Maximum time in abortable preclean in ms 5000 intx
CMSAbortablePrecleanMinWorkPerIteration (Temporary, subject to experimentation)" Nominal minimum work per abortable preclean iteration 100 uintx
CMSAbortablePrecleanWaitMillis (Temporary, subject to experimentation)" Time that we sleep between iterations when not given" enough work per iteration 100 intx
CMSRescanMultiple Size (in cards) of CMS parallel rescan task 32 uintx
CMSConcMarkMultiple Size (in cards) of CMS concurrent MT marking task 32 uintx
CMSRevisitStackSize Size of CMS KlassKlass revisit stack 1*M uintx
CMSAbortSemantics Whether abort-on-overflow semantics is implemented false bool
CMSParallelRemarkEnabled Whether parallel remark enabled (only if ParNewGC) true bool
CMSParallelSurvivorRemarkEnabled Whether parallel remark of survivor space" enabled (effective only if CMSParallelRemarkEnabled) true bool
CMSPLABRecordAlways Whether to always record survivor space PLAB bdries" (effective only if CMSParallelSurvivorRemarkEnabled) true bool
CMSConcurrentMTEnabled Whether multi-threaded concurrent work enabled (if ParNewGC) true bool
CMSPermGenPrecleaningEnabled Whether concurrent precleaning enabled in perm gen" (effective only when CMSPrecleaningEnabled is true) true bool
CMSPermGenSweepingEnabled Whether sweeping of perm gen is enabled false bool
CMSPrecleaningEnabled Whether concurrent precleaning enabled true bool
CMSPrecleanIter Maximum number of precleaning iteration passes 3 uintx
CMSPrecleanNumerator CMSPrecleanNumerator:CMSPrecleanDenominator yields convergence" ratio 2 uintx
CMSPrecleanDenominator CMSPrecleanNumerator:CMSPrecleanDenominator yields convergence" ratio 3 uintx
CMSPrecleanRefLists1 Preclean ref lists during (initial) preclean phase true bool
CMSPrecleanRefLists2 Preclean ref lists during abortable preclean phase false bool
CMSPrecleanSurvivors1 Preclean survivors during (initial) preclean phase false bool
CMSPrecleanSurvivors2 Preclean survivors during abortable preclean phase true bool
CMSPrecleanThreshold Don't re-iterate if #dirty cards less than this 1000 uintx
CMSCleanOnEnter Clean-on-enter optimization for reducing number of dirty cards true bool
CMSRemarkVerifyVariant Choose variant (1,2) of verification following remark 1 uintx
CMSScheduleRemarkEdenSizeThreshold If Eden used is below this value, don't try to schedule remark 2*M uintx
CMSScheduleRemarkEdenPenetration The Eden occupancy % at which to try and schedule remark pause 50 uintx
CMSScheduleRemarkSamplingRatio Start sampling Eden top at least before yg occupancy reaches" 1/ of the size at which we plan to schedule remark 5 uintx
CMSSamplingGrain The minimum distance between eden samples for CMS (see above) 16*K uintx
CMSScavengeBeforeRemark Attempt scavenge before the CMS remark step false bool
CMSWorkQueueDrainThreshold Don't drain below this size per parallel worker/thief 10 uintx
CMSWaitDuration Time in milliseconds that CMS thread waits for young GC 2000 intx
CMSYield Yield between steps of concurrent mark & sweep true bool
CMSBitMapYieldQuantum Bitmap operations should process at most this many bits" between yields 10*M uintx
BlockOffsetArrayUseUnallocatedBlock Maintain _unallocated_block in BlockOffsetArray" (currently applicable only to CMS collector) trueInDebug bool
RefDiscoveryPolicy Whether reference-based(0) or referent-based(1) 0 intx
ParallelRefProcEnabled Enable parallel reference processing whenever possible false bool
CMSTriggerRatio Percentage of MinHeapFreeRatio in CMS generation that is allocated before a CMS collection cycle commences 80 intx
CMSBootstrapOccupancy Percentage CMS generation occupancy at which to initiate CMS collection for bootstrapping collection stats 50 intx
CMSInitiatingOccupancyFraction Percentage CMS generation occupancy to start a CMS collection cycle (A negative value means that CMSTirggerRatio is used) -1 intx
UseCMSInitiatingOccupancyOnly Only use occupancy as a crierion for starting a CMS collection false bool
HandlePromotionFailure The youngest generation collection does not require" a guarantee of full promotion of all live objects. true bool
PreserveMarkStackSize Size for stack used in promotion failure handling 40 uintx
ZeroTLAB Zero out the newly created TLAB false bool
PrintTLAB Print various TLAB related information false bool
TLABStats Print various TLAB related information true bool
AlwaysActAsServerClassMachine Always act like a server-class machine false bool
DefaultMaxRAM Maximum real memory size for setting server class heap size G uintx
DefaultMaxRAMFraction Fraction (1/n) of real memory used for server class max heap 4 uintx
DefaultInitialRAMFraction Fraction (1/n) of real memory used for server class initial heap 64 uintx
UseAutoGCSelectPolicy Use automatic collection selection policy false bool
AutoGCSelectPauseMillis Automatic GC selection pause threshhold in ms 5000 uintx
UseAdaptiveSizePolicy Use adaptive generation sizing policies true bool
UsePSAdaptiveSurvivorSizePolicy Use adaptive survivor sizing policies true bool
UseAdaptiveGenerationSizePolicyAtMinorCollection Use adaptive young-old sizing policies at minor collections true bool
UseAdaptiveGenerationSizePolicyAtMajorCollection Use adaptive young-old sizing policies at major collections true bool
UseAdaptiveSizePolicyWithSystemGC Use statistics from System.GC for adaptive size policy false bool
UseAdaptiveGCBoundary Allow young-old boundary to move false bool
AdaptiveSizeThroughPutPolicy Policy for changeing generation size for throughput goals 0 uintx
AdaptiveSizePausePolicy Policy for changing generation size for pause goals 0 uintx
AdaptiveSizePolicyInitializingSteps Number of steps where heuristics is used before data is used 20 uintx
AdaptiveSizePolicyOutputInterval Collecton interval for printing information, zero => never 0 uintx
UseAdaptiveSizePolicyFootprintGoal Use adaptive minimum footprint as a goal true bool
AdaptiveSizePolicyWeight Weight given to exponential resizing, between 0 and 100 10 uintx
AdaptiveTimeWeight Weight given to time in adaptive policy, between 0 and 100 25 uintx
PausePadding How much buffer to keep for pause time 1 uintx
PromotedPadding How much buffer to keep for promotion failure 3 uintx
SurvivorPadding How much buffer to keep for survivor overflow 3 uintx
AdaptivePermSizeWeight Weight for perm gen exponential resizing, between 0 and 100 20 uintx
PermGenPadding How much buffer to keep for perm gen sizing 3 uintx
ThresholdTolerance Allowed collection cost difference between generations 10 uintx
AdaptiveSizePolicyCollectionCostMargin If collection costs are within margin, reduce both by full delta 50 uintx
YoungGenerationSizeIncrement Adaptive size percentage change in young generation 20 uintx
YoungGenerationSizeSupplement Supplement to YoungedGenerationSizeIncrement used at startup 80 uintx
YoungGenerationSizeSupplementDecay Decay factor to YoungedGenerationSizeSupplement 8 uintx
TenuredGenerationSizeIncrement Adaptive size percentage change in tenured generation 20 uintx
TenuredGenerationSizeSupplement Supplement to TenuredGenerationSizeIncrement used at startup 80 uintx
TenuredGenerationSizeSupplementDecay Decay factor to TenuredGenerationSizeIncrement 2 uintx
MaxGCPauseMillis Adaptive size policy maximum GC pause time goal in msec max_uintx uintx
MaxGCMinorPauseMillis Adaptive size policy maximum GC minor pause time goal in msec max_uintx uintx
GCTimeRatio Adaptive size policy application time to GC time ratio 99 uintx
AdaptiveSizeDecrementScaleFactor Adaptive size scale down factor for shrinking 4 uintx
UseAdaptiveSizeDecayMajorGCCost Adaptive size decays the major cost for long major intervals true bool
AdaptiveSizeMajorGCDecayTimeScale Time scale over which major costs decay 10 uintx
MinSurvivorRatio Minimum ratio of young generation/survivor space size 3 uintx
InitialSurvivorRatio Initial ratio of eden/survivor space size 8 uintx
BaseFootPrintEstimate Estimate of footprint other than Java Heap 256*M uintx