I am always on the lookout for common GC parameters. So I figured I'll compile a list of some of the common parameters and places where I found them:
Super Lists of All Parameters:
- http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html
- http://stas-blogspot.blogspot.fi/2011/07/most-complete-list-of-xx-options-for.html
- http://blog.ragozin.info/2011/09/hotspot-jvm-garbage-collection-options.html
- http://reins.altervista.org/java/A_Collection_of_JVM_Options_MP.html
Blog Roll
- http://practicingtechie.wordpress.com/2013/06/15/java-vm-options/
- -XX:+UseConcMarkSweepGC
- -XX:+HeapDumpOnOutOfMemoryError
- -XX:HeapDumpPath=$APP_HOME_DIR
- -XX:OnOutOfMemoryError=
- -XX:OnError=
- -XX:+PrintGCDetails
- -XX:+PrintGCTimeStamps
- -Xloggc:$APP_HOME_DIR/gc.log
- -XX:-UseGCLogFileRotation
- -XX:GCLogFileSize=
M - -XX:NumberOfGCLogFiles=
- http://community.gemstone.com/display/gemfire60/GC+Tuning
- -XX:NewSize=
m - -XX:CMSInitiatingOccupancyFraction=N
- -XX:+UseConcMarkSweepGC
- -Xmx
m - -Xms
m
- -XX:NewSize=
- http://blog.mikiobraun.de/2010/08/cassandra-gc-tuning.html
-XX:+UseConcMarkSweepGC
-XX:ParallelCMSThreads=1
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:CMSIncrementalDutyCycleMin=0
-XX:CMSIncrementalDutyCycle=10
- https://blogs.atlassian.com/2013/02/a-little-practical-gc-tuning-on-eclipse/
- -server
- -XX:MaxPermSize=320m
- -XX:+UseParallelGC
- -Xmx3g
- -Xmn2g
- -XX:+DisableExplicitGC
- http://themindstorms.wordpress.com/2009/01/21/advanced-jvm-tuning-for-low-pause/
- -Xms2g
- -Xmx2g
- -Xmn150m
- -XX:GCTimeRatio=2
- -XX:ParallelGCThreads=8
- -XX:+UseParNewGC
- -XX:MaxGCPauseMillis=2000
- -XX:+DisableExplicitGC
- http://forum.openspaces.org/thread.jspa?messageID=9277
- -Xms2g
- -Xmx2g
- -XX:+UseConcMarkSweepGC
- -XX:+CMSIncrementalMode
- -XX:+CMSIncrementalPacing
- -XX:CMSIncrementalDutyCycleMin=10
- -XX:CMSIncrementalDutyCycle=50
- -XX:ParallelGCThreads=8
- -XX:+UseParNewGC
- -Xmn150m
- -XX:MaxGCPauseMillis=2000
- -XX:GCTimeRatio=10
- -XX:+DisableExplicitGC
- http://java-is-the-new-c.blogspot.com/
- -Xms11g
- -Xmx11g
- -verbose:gc
- -XX:-UseAdaptiveSizePolicy
- -XX:SurvivorRatio=12
- -XX:NewSize=100m
- -XX:MaxNewSize=100m
- -XX:MaxTenuringThreshold=2
- http://techblog.netflix.com/2013/05/garbage-collection-visualization.html
- -verbose:gc
- -verbose:sizes
- -Xloggc:/apps/tomcat/logs/gc.log
- -XX:+PrintGCDetails
- -XX:+PrintGCDateStamps
- -XX:+PrintTenuringDistribution
- -XX:-UseGCOverheadLimit
- -XX:+ExplicitGCInvokesConcurrent
- -XX:+UseConcMarkSweepGC
- -XX:+CMSScavengeBeforeRemark
- -XX:+CMSParallelRemarkEnabled
- https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/5/html/Performance_Tuning_Guide/sect-Performance_Tuning_Guide-Java_Virtual_Machine_Tuning-Garbage_Collection_and_Performance_Tuning.html
- -Xms12288m
- -Xmx12288m
- -XX:+UseLargePages
- -XX:+UseParallelOldGC
- http://onthejvm.blogspot.com/2013/05/java-gc-tuning-for-high-frequency.html
- -XX:+UnlockDiagnosticVMOptions
- -Xmx4g
- -Xms4g
- -XX:MaxNewSize=3g
- -XX:NewSize=3g
- -XX:ParallelGCThreads=7
- -XX:+UseGCTaskAffinity
- -XX:+BindGCTaskThreadsToCPUs
- -XX:ParGCCardsPerStrideChunk=32768
- http://glipho.com/albert/performance-effects-of-garbage-collection-tuning-on-java
- -XX:+UseConcMarkSweepGC
- -XX:ParallelCMSThreads=8
- -XX:+CMSIncrementalMode
- -XX:+CMSIncrementalPacing
- -XX:CMSIncrementalDutyCycleMin=0
- -XX:CMSIncrementalDutyCycle=10
- http://docs.neo4j.org/chunked/milestone/configuration-jvm.html
-Xmx
-XX:+UseConcMarkSweepGC
-XX:NewRatio=#
- http://blog.igorminar.com/2010/07/dgc-ii-jvm-tuning.html
- -XX:+UseConcMarkSweepGC
- -XX:+UseParNewGC
- -XX:CMSInitiatingOccupancyFraction=68
- -XX:MaxTenuringThreshold=31
- -XX:+CMSParallelRemarkEnabled
- -XX:SurvivorRatio=6
- -XX:TargetSurvivorRatio=90
- -XX:+AggressiveOpts
- -XX:+DoEscapeAnalysis
- -Xloggc:/some/path/
- -XX:+PrintGCDetails
- -XX:+PrintGCTimeStamps
- -XX:+PrintGCDateStamps
- -XX:+PrintTenuringDistribution
- -XX:+HeapDumpOnOutOfMemoryError
- -Xmn2818m
- http://blog.performize-it.com/2013/09/jvm-params-everyone-should-have-in.html
- -Xms{#MB}m -Xmx{#MB}m
- -XX:PermSize={#MB}m -XX:MaxPermSize={#MB}m
- -XX:+HeapDumpOnOutOfMemoryError
- -XX:+PrintFlagsFinal
- -server
- -XX:+PrintGCDetails
- -XX:+PrintGCDateStamps
- -XX:+PrintTenuringDistribution
- -XX:+
PrintGCApplicationStoppedTime - -XX:+
PrintGCApplicationConcurrentTi me - -XX:+UseGCLogFileRotation
- -XX:NumberOfGCLogFiles={#files}
- -XX:GCLogFileSize={#MB}M
- -Xloggc:{some gc log file}.gc
- -Dcom.sun.management.jmxremote
- -Dcom.sun.management.jmxremote.port={a port}
- -Dcom.sun.management.jmxremote.authenticate=false
- -Dcom.sun.management.jmxremote.authenticate=false
- Big Bank System with a very large Heap (~80gb)
-d64
-server
- -XX:+AggressiveOpts
- -XX:+UseConcMarkSweepGC
- -XX:+UseParNewGC
- -XX:ParallelGCThreads=4
- -XX:NewRatio=4
- https://github.com/foursquare/heapaudit
- https://github.com/twitter/jvmgcprof
- https://github.com/Netflix/gcviz
- https://github.com/chewiebug/GCViewer
Tutorials
- http://www.slideshare.net/aszegedi/everything-i-ever-learned-about-jvm-performance-tuning-twitter
- http://java.dzone.com/articles/how-tame-java-gc-pauses
- http://blog.ragozin.info/p/garbage-collection.html
- http://blog.ragozin.info/2011/10/techtalk-garbage-collection-in-java.html
- https://blogs.oracle.com/jonthecollector/entry/the_second_most_important_gc
- http://stackoverflow.com/questions/17009961/understanding-the-java-memory-model-and-garbage-collection
- http://mechanical-sympathy.blogspot.com/2013/07/java-garbage-collection-distilled.html
- http://blog.mgm-tp.com/2013/03/garbage-collection-tuning/
- http://www.youtube.com/watch?v=o6qx_zvpOyI
- http://www.infoq.com/presentations/Virtualizing-Tuning-JVM
- https://blog.codecentric.de/en/2013/10/useful-jvm-flags-part-7-cms-collector/
- http://blog.headius.com/2009/01/my-favorite-hotspot-jvm-flags.html
- http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html
- http://java.dzone.com/articles/java-garbage-collection-0
No comments:
Post a Comment