-Xverifyheap bool O O O O O Verify heap integrity. Replaced by -XX:+VerifyBeforeGC -XX:+VerifyAfterGC -XX:+VerifyTLE (-XX:+VerifyTLAB in J2SE 1.4) -XX:+VerifyBeforeScavenge -XX:+VerifyAfterScavenge (all debug only)
-XX:+PrintHeapUsageOverTime bool           Print heap usage and capacity with timestamps
      * Improving Java Application Performance and Scalability by Reducing Garbage Collection Times and Sizing Memory Using JDK 1.4.1-XX:+PrintInlining bool           Print message about inlined methods (debug only)
      * Java HotSpot VM Options-XX:+DontYieldALotInterval bool           Interval in milliseconds between yields. (debug only)
      * Java HotSpot VM Options-XX:+VerifyBeforeGC bool            
      * Java HotSpot VM Options-XX:+VerifyAfterGC bool            
      * Java HotSpot VM Options-XX:+VerifyTLE bool            
      * Java HotSpot VM Options-XX:+VerifyTLAB bool       Y    
      * Java HotSpot VM Options-XX:+VerifyBeforeScavenge bool            
      * Java HotSpot VM Options-XX:+VerifyAfterScavenge bool            
      * Java HotSpot VM Options-XX:+AggressiveHeap bool Y Y Y Y Y This option instructs the JVM to push memory use to the limit: the overall heap is more than 3850MB, the allocation area of each thread is 256K, the memory management policy defers collection as long as possible, and (beginning with J2SE 1.3.1_02) some GC activity is done in parallel.
      * Big Heaps and Intimate Shared Memory (ISM)
    * Tuning Garbage Collection with the 1.4.2 Java[tm] Virtual Machine-XX:AdaptivePermSizeWeight=<value> uintx     Y Y Y  
-XX:AdaptiveSizeDecrementScaleFactor=<value> uintx         Y  
-XX:AdaptiveSizePolicyCollectionCostMargin=<value> uintx         Y  
-XX:AdaptiveSizePolicyFootprintThreshold=<value> uintx         Y  
-XX:AdaptiveSizePolicyInitializingSteps=<value> uintx         Y  
-XX:AdaptiveSizePolicyWeight=<value> uintx     Y Y Y  
-XX:AdaptiveSizeThroughPutPolicy=<value> uintx         Y  
-XX:AdaptiveTimeWeight=<value> uintx     Y Y Y  
-XX:+AdjustConcurrency bool Y Y Y Y Y  
      * HotSpot Performance Tuning-XX:AliasLevel=<value> intx Y Y Y Y Y  
-XX:+AllowUserSignalHandlers bool Y Y Y Y Y Do not complain if the application installs signal handlers (Solaris Only)
      * Java HotSpot VM Options-XX:AltStackSize=<value> intx Y Y Y Y   Alternate signal stack size (in Kbytes, Solaris Only)
      * Java HotSpot VM Options-XX:+AlwaysCompileLoopMethods bool Y Y Y Y Y  
-XX:+AlwaysTenure bool     Y Y Y  
-XX:AppendRatio=<value> intx         Y  
-XX:+BackgroundCompilation bool Y Y Y Y Y Enables or disables JIT compilation in the background. When enabled, interpreted methods are still executed until background compilation is complete.
      * The Java HotSpot Virtual Machine Client Compiler-XX:BaseFootPrintEstimate=<value> uintx     Y Y Y  
-XX:+BindGCTaskThreadsToCPUs bool     Y Y Y  
-XX:+BindScavengeThreads bool Y          
-XX:+BlockOffsetArrayUseUnallocatedBlock bool     Y Y Y  
-XX:+BytecodeVerificationLocal bool Y Y Y Y Y  
      * Java Developer Connection Bug Parade-XX:+BytecodeVerificationRemote bool Y Y Y Y Y  
      * Java Developer Connection Bug Parade-XX:CICompilerCount=<value> intx Y Y Y Y Y  
      * Java Developer Connection Bug Parade-XX:+CICompilerCountPerCPU bool       Y Y  
-XX:+CIDynamicCompilePriority bool Y Y Y      
-XX:+CIMaxPriority bool   Y Y      
-XX:+CITime bool   Y Y Y Y Time spent in JIT Compiler
      * Java HotSpot VM Options-XX:CMSAbortablePrecleanMinWorkPerIteration=<value> uintx         Y  
-XX:CMSAbortablePrecleanWaitMillis=<value> intx         Y  
-XX:CMSBitMapYieldQuantum=<value> uintx       Y Y  
-XX:CMSBootstrapOccupancy=<value> intx         Y  
-XX:+CMSClassUnloadingEnabled bool     Y Y Y It has been reported that for 1.5, this apparently needs to be combined with -XX:+CMSPermGenSweepingEnabled in order to take effect.
      * Java Developer Connection Bug Parade-XX:+CMSCompactWhenClearAllSoftRefs bool     Y Y Y  
-XX:CMSDictionaryChoice=<value> intx   Y        
-XX:CMSExpAvgFactor=<value> uintx       Y Y  
-XX:CMSFullGCsBeforeCompaction=<value> uintx     Y Y Y Parameter that affects compaction of the old generation. If at least this number of concurrent collections has not succeeded between full collection, do a compaction on full collections. If 0, always do compactions on full collections when UseCMSCompactAtFullCollection is true
      * Improving Java Application Performance and Scalability by Reducing Garbage Collection Times and Sizing Memory Using JDK 1.4.1
    * Frequently Asked Questions about Garbage Collection in the HotspotTM JavaTM Virtual Machine-XX:CMSIncrementalDutyCycle=<value> uintx       Y Y  
-XX:CMSIncrementalDutyCycleMin=<value> uintx       Y Y  
-XX:+CMSIncrementalMode bool       Y Y  
-XX:CMSIncrementalOffset=<value> uintx       Y Y  
-XX:+CMSIncrementalPacing bool       Y Y  
-XX:CMSIncrementalSafetyFactor=<value> uintx       Y Y  
-XX:CMSIndexedFreeListReplenish=<value> uintx     Y Y Y  
-XX:CMSInitiatingOccupancyFraction=<value> intx     Y Y Y Sets the threshold percentage of the used heap in the old generation at which the CMS collection takes place. For example, if set to 60, the CMS collector will be initiated every time the old generation becomes 60% full. By default, this threshold is calculated at run time, and the CMS collector might be triggered only when the old generation heap is about 80-90% full. Tuning this value can improve performance in many cases. Since the CMS collector does not suspend the mutators as it sweeps and frees memory, setting this switch can ensure that enough free memory is available for object promotion from the young generation as more data is allocated by the application. Sometimes, if this switch is not tuned, CMS collection might not be able to keep up and may fail, eventually triggering the default stop-the-world -compact collector. Available from J2SE1.4.1.
      * Improving Java Application Performance and Scalability by Reducing Garbage Collection Times and Sizing Memory Using JDK 1.4.1
    * Frequently Asked Questions about Garbage Collection in the HotspotTM JavaTM Virtual Machine
    * Turbo-charging Java HotSpot Virtual Machine-XX:+CMSLoopWarn bool     Y Y Y  
-XX:CMSMarkStackSize=<value> uintx   Y Y Y Y  
-XX:CMSMarkStackSizeMax=<value> uintx         Y  
-XX:CMSMaxAbortablePrecleanLoops=<value> uintx         Y  
-XX:CMSMaxAbortablePrecleanTime=<value> intx         Y  
-XX:+CMSNoWarning bool   Y Y      
      * Java Developer Connection Bug Parade-XX:+CMSParallelReEnabled bool       Y Y Attempt to descrease re pauses when used with -XX:+UseParNewGC.
      * Tuning Garbage Collection with the 1.4.2 Java[tm] Virtual Machine
    * Frequently Asked Questions about Garbage Collection in the HotspotTM JavaTM Virtual Machine-XX:+CMSPermGenPrecleaningEnabled bool     Y Y Y  
-XX:+CMSPermGenSweepingEnabled bool     Y Y Y It has been reported that for 1.5, this apparently needs to be combined with -XX:+CMSClassUnloadingEnabled in order to take effect.
-XX:CMSPrecleanDenominator=<value> uintx   Y Y Y Y  
-XX:CMSPrecleanIter=<value> uintx   Y Y Y Y  
-XX:CMSPrecleanNumerator=<value> uintx   Y Y Y Y  
-XX:+CMSPrecleanRefLists1 bool         Y  
-XX:+CMSPrecleanRefLists2 bool         Y  
-XX:CMSPrecleanThreshold=<value> uintx   Y Y Y Y  
-XX:+CMSPrecleaningEnabled bool   Y Y Y Y  
-XX:CMSRescanMultiple=<value> uintx       Y Y  
-XX:CMSRevisitStackSize=<value> uintx     Y Y Y  
-XX:CMSSamplingGrain=<value> uintx         Y  
-XX:CMSScheduleReEdenPenetration=<value> uintx         Y

解决方案 »

  1.   

    -XX:CMSScheduleReEdenSizeThreshold=<value> uintx         Y  
    -XX:CMSScheduleReSamplingRatio=<value> uintx         Y  
    -XX:CMSTriggerRatio=<value> intx     Y Y Y  
    -XX:CMSWaitDuration=<value> intx     Y Y Y  
    -XX:CMSWorkQueueDrainThreshold=<value> uintx       Y Y  
    -XX:+CMSYield bool   Y Y Y Y  
    -XX:CMSYieldQuantum=<value> intx   Y Y      
    -XX:+CheckJNICalls bool Y Y Y Y Y  
    -XX:+CheckUnsafeOps bool   Y Y Y Y  
    -XX:+ClassUnloading bool Y Y Y Y Y  
    -XX:+ClipInlining bool Y Y Y Y Y  
    -XX:CodeCacheExpansionSize=<value> intx Y Y Y Y Y  
    -XX:CodeCacheMinimumFreeSpace=<value> uintx Y Y Y Y Y  
    -XX:+CodeForP6 bool Y          
          * Java Developer Connection Bug Parade-XX:+CollectGen0First bool   Y Y Y Y  
    -XX:CompilationPolicyChoice=<value> intx   Y Y Y Y  
    -XX:CompilationRepeat=<value> intx       Y Y  
    -XX:CompileCommand=<value> ccstr       Y Y  
    -XX:CompileCommandFile=<value> ccstr       Y Y Allows you to specify alternate compiler command files. When used, this overrides the default behavior of the VM and the VM will NOT scan either the libjvm.sl directory or the current directory for a .hotspot_compiler file.
          * SDK release notes 1.3.1.12-XX:CompileOnly=<value> ccstr       Y Y  
    -XX:CompileThreshold=<value> intx Y Y Y Y Y number of method invocations/branches before (re-)compiling [10,000 -server, 1,500 -client]
          * Java HotSpot VM Options-XX:+CompilerThreadHintNoPreempt bool       Y Y  
    -XX:CompilerThreadPriority=<value> intx       Y Y  
    -XX:CompilerThreadStackSize=<value> intx Y Y Y Y Y  
    -XX:+ConvertSleepToYield bool Y Y Y Y Y  
    -XX:+ConvertYieldToSleep bool Y Y Y Y Y  
    -XX:DefaultInitialRAMFraction=<value> uintx         Y  
    -XX:DefaultMaxRAM=<value> uintx         Y  
    -XX:DefaultMaxRAMFraction=<value> uintx         Y  
    -XX:DefaultThreadPriority=<value> intx       Y Y  
    -XX:DefaultTickInterval=<value> intx Y Y Y Y Y  
    -XX:+DefaultUseSpecLock bool Y Y        
          * Java Developer Connection Bug Parade-XX:DeferThrSuspendLoopCount=<value> intx Y Y Y Y Y  
    -XX:DelayTickAdjustment=<value> intx Y Y Y Y Y  
    -XX:+DisableExplicitGC bool Y Y Y Y Y Disable calls to System.gc(), JVM still performs garbage collection when necessary
          * Java HotSpot VM Options
        * Tuning Garbage Collection with the 1.4.2 Java[tm] Virtual Machine-XX:+DisplayVMOutput bool       Y Y  
    -XX:+DisplayVMOutputToStderr bool         Y  
    -XX:+DisplayVMOutputToStdout bool         Y  
    -XX:+DontCompileHugeMethods bool Y Y Y Y Y  
    -XX:+DontYieldALot bool Y Y Y Y Y  
          * Java Developer Connection Bug Parade-XX:+DumpSharedSpaces bool         Y  
    -XX:+EagerInitialization bool     Y      
          * Java Developer Connection Bug Parade-XX:+EagerXrunInit bool       Y Y  
    -XX:+EnableJVMPIInstructionStartEvent bool Y Y Y Y Y Enables or disables the JVMPI event, JVMPI_EVENT_INSTRUCTION_START, which is sent when each instruction is issued by the interpreter
          * JavaTM Virtual Machine Profiler Interface (JVMPI)-XX:EventLogLength=<value> intx Y Y Y Y Y  
          * Java Developer Connection Bug Parade-XX:+ExitOnBadLibThread bool Y Y Y Y Y  
    -XX:+FastNMethodDependencies bool     Y Y Y  
          * Java Developer Connection Bug Parade-XX:+FastTLABRefill bool         Y  
    -XX:+FasterSync bool Y          
    -XX:+FilterSpuriousWakeups bool Y Y Y Y Y  
    -XX:FloatCacheThreshold=<value> intx   Y        
    -XX:+ForceSharedSpaces bool         Y  
    -XX:+ForceTimeHighResolution bool Y Y Y Y Y  
          * Java Developer Connection Bug Parade-XX:+ForceUseSpecLock bool Y Y        
          * Java Developer Connection Bug Parade-XX:FreqInlineSize=<value> intx Y Y Y Y Y Integer specifying maximum number of bytecode instructions in a frequently executed method which gets inlined.
          * Java HotSpot VM Options-XX:+FullSpeedJVMDI bool   Y Y Y    
          * Java Developer Connection Bug Parade-XX:GCHeapFreeLimit=<value> uintx     Y Y Y Used with -XX:+UseParallelGC to help prevent out-of-memory exceptions from occuring during garbage collection. This parameter specifies the lower limit on the amount of space freed during a garbage collection in per cent of the maximum heap (default is 5).
          * Garbage Collector Ergonomics-XX:GCTaskTimeStampEntries=<value> uintx       Y Y  
    -XX:GCTimeLimit=<value> uintx     Y Y Y Used with -XX:+UseParallelGC to help prevent out-of-memory exceptions from occuring during garbage collection. This parameter specifies the upper limit on the amount of time spent in garbage collection in per cent of total time (default is 90)
          * Garbage Collector Ergonomics-XX:GCTimeRatio=<value> uintx         Y The ratio of GC time to application time, ratio being: 1 / (1 + nnn). For example -XX:GCTimeRatio=19 sets a goal of 5% of the total time for GC.
          * Garbage Collector Ergonomics-XX:+HandlePromotionFailure bool         Y  
    -XX:InitialCodeCacheSize=<value> intx Y Y Y Y Y  
          * Java Developer Connection Bug Parade-XX:InitialSurvivorRatio=<value> uintx     Y Y Y  
          * Java Developer Connection Bug Parade-XX:InitialTenuringThreshold=<value> intx     Y Y Y  
    -XX:+Inline bool Y   Y Y Y  
          * Java Developer Connection Bug Parade-XX:InlineSmallCode=<value> intx Y     Y    
    -XX:+InlineUnreachedCalls bool Y Y Y Y Y  
    -XX:+InstallMethods bool Y          
    -XX:InterpreterProfilePercentage=<value> intx   Y Y Y Y  
    -XX:+JVMPICheckGCCompatibility bool         Y  
    -XX:+JavaMonitorsInStackTrace bool Y Y Y Y Y Useful to display more stack trace information about monitors
          * Java Developer Connection Forums-XX:JavaPriority10_To_OSPriority=<value> intx       Y Y  
          * Java Developer Connection Bug Parade-XX:JavaPriority1_To_OSPriority=<value> intx       Y Y  
    -XX:JavaPriority2_To_OSPriority=<value> intx       Y Y  
          * Java Developer Connection Bug Parade-XX:JavaPriority3_To_OSPriority=<value> intx       Y Y  
          * Java Developer Connection Bug Parade-XX:JavaPriority4_To_OSPriority=<value> intx       Y Y  
          * Java Developer Connection Bug Parade-XX:JavaPriority5_To_OSPriority=<value> intx       Y Y  
          * Java Developer Connection Bug Parade-XX:JavaPriority6_To_OSPriority=<value> intx       Y Y  
          * Java Developer Connection Bug Parade-XX:JavaPriority7_To_OSPriority=<value> intx       Y Y  
          * Java Developer Connection Bug Parade-XX:JavaPriority8_To_OSPriority=<value> intx       Y Y  
          * Java Developer Connection Bug Parade-XX:JavaPriority9_To_OSPriority=<value> intx       Y Y  
          * Java Developer Connection Bug Parade-XX:+LIRCacheLocals bool   Y Y Y Y  
          * Java Developer Connection Bug Parade-XX:+LIRFillDelaySlots bool   Y Y Y Y  
    -XX:+LIROptimize bool   Y        
    -XX:+LIROptimizeDeleteOps bool   Y        
    -XX:+LIROptimizeFloats bool   Y        
    -XX:+LIROptimizeStack bool   Y        
    -XX:LargePageHeapSizeThreshold=<value> uintx         Y  
    -XX:LargePageSizeInBytes=<value> uintx   Y Y Y Y  
    -XX:LocalCacheThreshold=<value> intx   Y      
      

  2.   


    -XX:+LogCompilation bool       Y Y  
          * Java Developer Connection Bug Parade-XX:LogFile=<value> ccstr       Y Y  
          * Java Developer Connection Bug Parade-XX:+LogVMOutput bool       Y Y  
          * Java Developer Connection Bug Parade-XX:+ManagementServer bool         Y  
    -XX:MarkSweepAlwaysCompactCount=<value> intx Y Y Y Y Y  
          * Java Developer Connection Bug Parade-XX:MarkSweepDeadRatio=<value> intx Y Y Y Y Y  
          * Java Developer Connection Bug Parade-XX:MaxDirectMemorySize=<value> intx       Y Y  
          * Java Developer Connection Bug Parade-XX:+MaxFDLimit bool Y Y Y Y Y Bump the number of file descriptors to max. (Solaris only)
          * Java HotSpot VM Options-XX:MaxGCMinorPauseMillis=<value> uintx         Y  
    -XX:MaxGCPauseMillis=<value> uintx         Y A hint to the virtual machine that pause times of nnn milliseconds or less are desired. The vm will adjust the java heap size and other gc-related parameters in an attempt to keep gc-induced pauses shorter than nnn milliseconds. Note that this may cause the vm to reduce overall throughput, and in some cases the vm will not be able to meet the desired pause time goal.
          * Garbage Collector Ergonomics-XX:MaxHeapFreeRatio=<value> intx Y Y Y Y Y heap free percentage (default 70)
          * Java HotSpot VM Options
        * Tuning Garbage Collection with the 1.4.2 Java[tm] Virtual Machine
        * HotSpot Performance Tuning-XX:MaxHeapSize=<value> uintx Y Y Y Y Y  
    -XX:MaxInlineLevel=<value> intx Y     Y    
          * Java Developer Connection Bug Parade-XX:MaxInlineSize=<value> intx Y Y Y Y Y Integer specifying maximum number of bytecode instructions in a method which gets inlined.
          * Java HotSpot VM Options-XX:MaxJavaStackTraceDepth=<value> intx Y Y Y Y Y  
          * Java Developer Connection Bug Parade-XX:MaxLiveObjectEvacuationRatio=<value> uintx Y Y Y Y Y  
          * Java Developer Connection Forums-XX:MaxNewSize=<value> uintx Y Y Y Y Y Maximum size of new generation (in bytes) [32m sparc, 2.5m intel for 1.3, no limit for 1.4 as NewRatio is now used to determine MaxNewSize]
          * Frequently Asked Questions About the Java HotSpot VM
        * Turbo-charging Java HotSpot Virtual Machine
        * Java HotSpot VM Options-XX:MaxPermHeapExpansion=<value> uintx Y Y Y Y Y  
    -XX:MaxPermSize=<value> uintx Y Y Y Y Y Size of the Permanent Generation
          * Frequently Asked Questions about Garbage Collection in the HotspotTM JavaTM Virtual Machine
        * Improving Java Application Performance and Scalability by Reducing Garbage Collection Times and Sizing Memory Using JDK 1.4.1
        * Java HotSpot VM Options
        * Tuning Garbage Collection with the 1.3.1 Java Virtual Machine
      

  3.   

    -XX:MaxRecursiveInlineLevel=<value> intx Y     Y    
    -XX:MaxSurvivorShrinkRatio=<value> size_t Y          
    -XX:MaxTLABRatio=<value> uintx   Y Y Y    
    -XX:MaxTLERatio=<value> Y          
    -XX:MaxTenuringThreshold=<value> intx Y Y Y Y Y This switch determines how much the objects may age in the young generation before getting promoted to the older generation. The default value is 31. For a big enough young generation and "survivor space", the long-lived objects may be copied up to 31 times between the survivor spaces before they are finally promoted to the old generation.
          * Turbo-charging Java HotSpot Virtual Machine
        * Improving Java Application Performance and Scalability by Reducing Garbage Collection Times and Sizing Memory Using JDK 1.4.1
        * Frequently Asked Questions about Garbage Collection in the HotspotTM JavaTM Virtual Machine-XX:MaxTickInterval=<value> intx Y Y Y Y Y  
    -XX:MinHeapDeltaBytes=<value> uintx   Y Y Y Y  
    -XX:MinHeapFreeRatio=<value> intx Y Y Y Y Y heap free percentage (default 40)
          * Java HotSpot VM Options
        * Tuning Garbage Collection with the 1.4.2 Java[tm] Virtual Machine
        * Tuning Garbage Collection with the 1.3.1 Java Virtual Machine-XX:MinOldHeapExpansion=<value> size_t Y          
    -XX:MinPermHeapExpansion=<value> uintx Y Y Y Y Y  
    -XX:MinSurvivorRatio=<value> uintx     Y Y Y  
    -XX:MinTLABSize=<value> uintx         Y  
    -XX:MinTickInterval=<value> intx Y Y Y Y Y  
    -XX:NMethodSweepInterval=<value> Y          
    -XX:NativeSynchronization=<value> ccstr         Y  
    -XX:+NeverTenure bool     Y Y Y  
    -XX:NewRatio=<value> intx Y Y Y Y Y Ratio of new/old generation sizes [sparc -server: 2, sparc -client: 4 (1.3) 8 (1.3.1+), intel: 12]
    -XX:NewSize=<value> uintx Y Y Y Y Y Default size of new generation (in bytes) [sparc 2.125M, intel: 640k]
          * Frequently Asked Questions about Garbage Collection in the HotspotTM JavaTM Virtual Machine
        * Tuning Garbage Collection with the 1.4.2 Java[tm] Virtual Machine
        * Frequently Asked Questions About the Java HotSpot VM
        * Java HotSpot VM Options
        * Improving Java Application Performance and Scalability by Reducing Garbage Collection Times and Sizing Memory Using JDK 1.4.1-XX:NewSizeThreadIncrease=<value> uintx Y Y Y Y Y As more threads are created in a server application, the object allocation rate may increase with the number of active threads. The number of active threads is considered when adjusting the size of the young space, after a garbage collection. This flag specifies, in Kilobytes, the increment in young object space size, per active thread, to accomodate potentially faster object allocation rate.
          * Java HotSpotTM Server VM Version 2.0 for Win32 Platforms-XX:NmethodSweepFraction=<value> intx Y Y Y Y Y  
    -XX:OldPLABSize=<value> uintx     Y Y Y  
    -XX:OldSize=<value> uintx Y Y Y Y Y  
    -XX:OnError=<value> ccstr         Y The Hotspot JVM includes a fatal error hander that can run a user-supplied script or program if the JVM aborts. A debug tool can also connect to a hung JVM or core file using the Hotspot JVM serviceability agent connector.
          * J2SE 1.5 in a Nutshell
      

  4.   

    哈,是J2SE 1.5 的,我们用不上吧,我们基本用的都是J2SE 1.4的呀,还有1.3的呢?
      

  5.   

    见:http://blogs.sun.com/roller/resources/watt/jvm-options-list.html