HotSpot JVM options cheatsheet All concrete numbers in JVM options in this card are for illustrational purposes only!
Alexey Ragozin – http://blog.ragozin.info
JVM Flags
Parallel Mark Sweep Compact (ParOldGen)
Parallel (ParNew)
Serial Mark Sweep Compact
Serial (DefNew)
Concurrent Mark Sweep
-XX:-UseParNewGC1 -XX:+UseConcMarkSweepGC
Concurrent Mark Sweep
-XX:+UseParNewGC -XX:+UseConcMarkSweepGC
-XX:+UseParallelOldGC -XX:+UseParNewGC
-XX:+UseG1GC
Garbage First (G1) 1 - Notice minus before UseParNewGC, which is explicitly disables parallel mode
GC log detail options -verbose:gc or -XX:+PrintGC -XX:+PrintGCDetails
GC Log rotation Print basic GC info
Print more details GC info
-XX:+PrintGCTimeStamps Print timestamps for each GC
event (seconds count from start of JVM)
-XX:+PrintGCDateStamps
Print date stamps at garbage collection events: 2011-09-08T14:20:29.557+0400: [GC...
-XX:+PrintReferenceGC
Print times for special (weak, JNI, etc) reference processing during STW pause
-XX:+PrintJNIGCStalls
Reports if GC is waiting for native code to unpin object in memory
-XX:+PrintGCCause
Add cause of GC in log
-XX:+PrintAdaptiveSizePolicy
Print young space sizing decisions -XX:+PrintPromotionFailure
Print additional information for promotion failure -XX:+PrintGCApplicationStoppedTime
Print summary after each JVM safepoint (including non-GC) -XX:+PrintGCApplicationConcurrentTime
Print time for each concurrent phase of GC
Enable GC log rotation
-Xms256m or -XX:InitialHeapSize=256m
Initial size of JVM heap (young + old) -Xmx2g or -XX:MaxHeapSize=2g
Size threshold for GC log file
-XX:GCLogFileSize=512m
Number GC log files More logging options -XX:+PrintTenuringDistribution Print detailed demography of young space after each collection -XX:NumberOfGCLogFiles=5
-XX:+PrintTLAB
Print TLAB allocation statistics
-XX:+PrintPLAB
Print survivor PLAB details
-XX:+PrintOldPLAB
-Xms/-Xmx
Memory sizing options
-Xloggc: Redirects GC output to a file instead of console -XX:+UseGCLogFileRotation
Young Gen
Non-Heap
Print old space PLAB details
-XX:+PrintGCTaskTimeStamps
Print timestamps for individual GC worker thread tasks (very verbose)
-XX:+PrintHeapAtGC
Thread Stacks Metaspace Compressed Class Space Code Cache NIO Direct Buffers Other JVM Memmory
Parallel scavenge (PSYoungGen)
-XX:+UseParallelGC
Survivor 1
Serial Mark Sweep Compact (PSOldGen)
Survivor 0
Parallel scavenge (PSYoungGen)
Java Heap
Eden
Serial Mark Sweep Compact
Parallel (ParNew)
JVM Memory
-XX:+UseSerialGC
Serial (DefNew)
Old Gen
Old collectior
Non-JVM Memory (native libraries)
Java Process Memory
Available combinations of garbage collection algorithms in HotSpot JVM Young collector
Print heap details on GC
-XX:+PrintHeapAtSIGBREAK Print heap details on signal -XX:+PrintClassHistogramAfterFullGC
Prints class histogram after full GC -XX:+PrintClassHistogramBeforeFullGC
Prints class histogram before full GC
-XX:NewSize=64m -XX:MaxNewSize=64m
Max size of JVM heap (young + old) Absolute (initial and max) size of young space (Eden + 2 Survivours)
-XX:NewRatio=3 Alternative way to specify size of young space. Sets ratio of young vs old space (e.g. -XX:NewRatio=2 means that young space will be 2 time smaller than old space, i.e. 1/3 of heap size). -XX:SurvivorRatio=15
Sets size of single survivor space relative to Eden space size (e.g. -XX:NewSize=64m -XX:SurvivorRatio=6 means that each Survivor space will be 8m and Eden will be 48m).
Initial and max size of JVM’s metaspace space Thread stack size
-XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=1g
-Xss256k (size in bytes) or -XX:ThreadStackSize=256 (size in Kbytes) -XX:CompressedClassSpaceSize=1g Memory reserved
for compressed class space (64bit only)
-XX:InitialCodeCacheSize=256m Initial size and max -XX:ReservedCodeCacheSize=512m size of code cache area -XX:MaxDirectMemorySize=2g
Maximum amount of memory available for NIO off-heap byte buffers
- Highly recommended option
- Highly recommended option
Young space tenuring -XX:InitialTenuringThreshold=8
Initial value for tenuring threshold (number of collections before object will be promoted to old space) -XX:MaxTenuringThreshold=15
Max value for tenuring threshold Max object size allowed to be allocated in young space (large objects will be allocated directly in old space). Thread local allocation bypasses this check, so if TLAB is large enough object exciding size threshold still may be allocated in young space.
-XX:PretenureSizeThreshold=2m
-XX:+AlwaysTenure
Promote all objects surviving young collection immediately to tenured space (equivalent of -XX:MaxTenuringThreshold=0)
-XX:+NeverTenure
Objects from young space will never get promoted to tenured space unless survivor space is not enough to keep them Thread local allocation
-XX:+UseTLAB
Use thread local allocation blocks in eden -XX:+ResizeTLAB Let JVM resize TLABs per thread -XX:TLABSize=1m Initial size of thread’s TLAB -XX:MinTLABSize=64k Min size of TLAB Parallel processing -XX:ConcGCThreads=2
Number of parallel threads used for concurrent phase. -XX:ParallelGCThreads=16
Number of parallel threads used for stop-the-world phases. Enable parallel processing of references during GC pause
-XX:+ParallelRefProcEnabled
-XX:+DisableExplicitGC
JVM will ignore application calls to System.gc() -XX:+ExplicitGCInvokesConcurrent Let System.gc() trigger concurrent collection instead of full GC -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses Same as above but also triggers permanent space collection. -XX:SoftRefLRUPolicyMSPerMB=1000 Factor for calculating soft reference TTL based on free heap size Command to be executed in case of out of memory. E.g. “kill -9 %p” on Unix or “taskkill /F /PID %p” on Windows.
Only use predefined occupancy as only criterion for starting a CMS collection (disable adaptive behaviour) -XX:CMSInitiatingOccupancyFraction=70
Percentage CMS generation occupancy to start a CMS cycle. A negative value means that CMSTriggerRatio is used. -XX:CMSBootstrapOccupancy=50
Percentage CMS generation occupancy at which to initiate CMS collection for bootstrapping collection stats. -XX:CMSTriggerRatio=70
Percentage of MinHeapFreeRatio in CMS generation that is allocated before a CMS collection cycle commences. -XX:CMSTriggerInterval=60000 Periodically triggers_ CMS collection. Useful for deterministic object finalization. CMS Stop-the-World pauses tuning -XX:CMSWaitDuration=30000
Once CMS collection is triggered, it will wait for next young collection to perform initial mark right after. This parameter specifies how long CMS can wait for young collection -XX:+CMSScavengeBeforeRemark
Force young collection before remark phase -XX:+CMSScheduleRemarkEdenSizeThreshold If Eden used is below this value, don't try to schedule remark -XX:CMSScheduleRemarkEdenPenetration=20 Eden occupancy % at which to try and schedule remark pause -XX:CMSScheduleRemarkSamplingRatio=4
Start sampling Eden top at least before young generation occupancy reaches 1/ of the size at which we plan to schedule remark CMS Concurrency options -XX:+CMSParallelInitialMarkEnabled
Whether parallel initial mark is enabled (enabled by default) -XX:+CMSParallelRemarkEnabled
Whether parallel remark is enabled (enabled by default) -XX:+CMSParallelSurvivorRemarkEnabled
Whether parallel remark of survivor space enabled, effective only with option above (enabled by default)
-XX:G1HeapRegionSize=32m Size of heap region -XX:G1ReservePercent=10 Percentage of heap to keep free.
Reserved memory is used as last resort to avoid promotion failure.
-XX:InitiatingHeapOccupancyPercent=45
Percentage of (entire) heap occupancy to trigger concurrent GC -XX:G1MixedGCCountTarget=8 Target number of mixed
collections after a marking cycle
-XX:G1HeapWastePercent=10
If garbage level is below threshold, G1 will not attempt to reclaim memory further
-XX:G1ConfidencePercent=50
Confidence level for MMU/pause prediction
-XX:MaxGCPauseMillis=500
Target GC pause duration. G1 is not deterministic, so no guaranties for GC pause to satisfy this limit. CMS Diagnostic options
-XX:PrintCMSStatistics=1
Print additional CMS statistics. Very verbose if n=2. -XX:+PrintCMSInitiationStatistics
Dump useful information about the state of the CMS old generation upon a promotion failure -XX:+CMSPrintChunksInDump (with optin above) Add more detailed information about the free chunks -XX:+CMSPrintObjectsInDump (with optin above) Add more detailed information about the allocated objects Misc CMS options -XX:+CMSClassUnloadingEnabled
If not enabled, CMS will not clean permanent space. You may need to enable it for containers such as JEE or OSGi. -XX:+CMSIncrementalMode Enable incremental CMS mode. Incremental mode was meant for severs with small number of CPU, but may be used on multicore servers to benefit from more conservative initiation strategy. -XX:+CMSOldPLABMin=16 -XX:+CMSOldPLABMax=1024
Min and max size of CMS gen PLAB caches per worker per block size
-XX:+CMSConcurrentMTEnabled
Use multiple threads for concurrent phases.
- Options for “deterministic” CMS, they disable some heuristics and require careful validation
G1 is not deterministic, so no guaranties for GC pause to satisfy this limit. -XX:G1ReservePercent=10 Percentage of heap to keep free. Reserved memory is used ...
Mutually recursive functions (those functions which call each other) are indicated by ... The same list [ 1; 3; 5; 7; 9 ] or array [| 1; 3; 5; 7; 9. |] can be generated in ...
Any function call returning a non-reference value type, including pointers, yields a prvalue. ... A non-static data member of an lvalue is also an lvalue. int &&a{ 77 }; ...
Jun 2, 2015 - 2 - âOperableâ - User interface components and navigation must be ... Lay out your HTML the way the page is inteaded to be read and, where ...
Configure clustered services. ⢠Deploy software. ⢠Manage software/servers/services. 2. Saturday, March 17, 12 ... works with every cloud (via jclouds) and more.
Page 3 of 15. public class Main{. public static void main(String[] args). {. Student s; //local variable - reference. s = new Student(23,"Jonh");. int noStudents = 1; //local variable. } } Page 3 of 15 ...
Author: Florian Preinstorfer ([email protected]) â version 1.1 â license cc-by-nc-sa 3.0. See https://github.com/nblock/pdb-cheatsheet for more information.
would otherwise have special meaning in Markdown's formaing syntax. Markdown provides backslash escapes for. the following characters: \ backslash. ` backtick. * asterisk. _ underscore. {} curly braces. [] square brackets. () parentheses. # hash mark
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Main menu.
connectify hotspot for android.pdf. connectify hotspot for android.pdf. Open. Extract. Open with. Sign In. Main menu. Displaying connectify hotspot for android.pdf.
Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Masters cheatsheet - top 80.pdf. Masters cheatsheet - top 80.pdf.
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Wifi Hotspot ...
(1 Year Renewable) online cheap, and we also make it easy to find and browse through details about "what is Hotspot Enterprise with Premium. Support and ... Windows 2000::Windows 7::Windows 8::Windows Vista::Windows XP::Windows Server 2003::Windows S
Zing is the best JVM choice for all ... processing and analytics, driving new revenue and supporting new business .... Large-scale online and social gaming.
Page 1 of 3. Tabletâ âSetupâ âGuide. â By default, your Tablets should automatically connect to the hotspot when powered on. If not, please. follow the steps below. 1. Swipe DOWN from the top of the screen to. display the Notification Area.
Download. Connect more apps... Try one of the apps below to open or edit this item. connectify hotspot for android.pdf. connectify hotspot for android.pdf. Open.
Antamedia HotSpot software helps you in controlling and billing your customers for the Internet usage. It is suitable ... Analytical Instrument Repair & Calibration.
Web-based eCommerce applications, insurance portals, multi-user gaming platforms, Big Data, and other use cases ... has been optimized for today's servers, configuration and setup are typically reduced to just a ... Cloud-based solutions.
Control time and bandwidth usage of wired and wireless laptops without any client ... UpdateStar has been tested to meet all of the technical requirements to be ...