java(1) java(1) (NAME) java - (SYNOPSIS) java [options] classname [args] java [options] -jar filename [args] options . . classname . filename (JAR) . -jar . args main() . java . (JRE) main() . public static String . : public static void main(String[] args) java JavaFX main() javafx.application.Application . Application init() start(javafx.stage.Stage) . java (fully qualified name) . -jar JAR (resource) . Main-Class . JRE ( ) : (bootstrap class path) (class path) . JAR main() . (OPTIONS) java : o o o o JIT o (Serviceability) o (Garbage Collection) (JVM) . JRE (verbose) . Java HotSpot Virtual Machine JVM . -X . . Java HotSpot Virtual Machine () . JVM . -XX . Deprecated and Removed Options . (Boolean) . . -XX (-XX:+OptionName) (-XX:-OptionName) . (:) (=) ( ). k K (KB) m M (MB) g G (GB) . 8 8g 8192m 8388608k 8589934592 . 0 1 ( 0.25 25% )..SS " (Standard Options)" JVM . -agentlib:libname[=options] (native agent library) . . -agentlib:foo JVM libfoo.so LD_LIBRARY_PATH ( OS X DYLD_LIBRARY_PATH ) . (HPROF) CPU : -agentlib:hprof=cpu=samples,interval=20,depth=3 Java Debug Wire Protocol (JDWP) JVM : -agentlib:jdwp=transport=dt_socket,server=y,address=8000 : o java.lang.instrument http://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html o Agent Command Line Options JVM Tools Interface http://docs.oracle.com/javase/8/docs/platform/jvmti/jvmti.html#starting -agentpath:pathname[=options] . -agentlib . -client Java HotSpot Client VM . Java SE Development Kit (JDK) Server JVM . JVM Server-Class Machine Detection http://docs.oracle.com/javase/8/docs/technotes/guides/vm/server-class.html . -Dproperty=value . property . value . value ( -Dfoo="foo bar"). -d32 . . . -d64 . . . Java HotSpot Server VM -server -d64 . -client -d64 . . -disableassertions[:[packagename]...|:classname] -da[:[packagename]...|:classname] (assertions) . . -disableassertions (-da) . packagename ... . ... . classname . -disableassertions (-da) (class loaders) ( ) . : . . -disablesystemassertions . -enableassertions (-ea) . . MyClass com.wombat.fruitbat ( ) com.wombat.fruitbat.Brickbat : java -ea:com.wombat.fruitbat... -da:com.wombat.fruitbat.Brickbat MyClass -disablesystemassertions -dsa . -enableassertions[:[packagename]...|:classname] -ea[:[packagename]...|:classname] (assertions) . . -enableassertions (-ea) . packagename ... . ... . classname . -enableassertions (-ea) ( ) . : . . -enablesystemassertions ..sp (assertions) -disableassertions (-da) . . MyClass com.wombat.fruitbat ( ) com.wombat.fruitbat.Brickbat : java -ea:com.wombat.fruitbat... -da:com.wombat.fruitbat.Brickbat MyClass -enablesystemassertions -esa (assertions) . -help -? java JVM . -jar filename JAR . filename JAR Main-Class:classname public static void main(String[] args) . -jar JAR class path . JAR : o jar(1) o The Java Archive (JAR) Files http://docs.oracle.com/javase/8/docs/technotes/guides/jar/index.html o : Packaging Programs in JAR Files http://docs.oracle.com/javase/tutorial/deployment/jar/index.html -javaagent:jarpath[=options] (agent) Java . (instrumenting) Java java.lang.instrument Java API http://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html . -jre-restrict-search JRE . -no-jre-restrict-search JRE . -server Java HotSpot Server VM . JDK Server VM . JVM Server-Class Machine Detection http://docs.oracle.com/javase/8/docs/technotes/guides/vm/server-class.html . -showversion . -version JVM . -splash:imgname (splash screen) imgname . splash.gif images : -splash:images/splash.gif -verbose:class . -verbose:gc (GC) . -verbose:jni (native) (JNI) . -version . -showversion JVM . -version:release . java . release . : 1.x.0_u ( x u ). (+) (*) . OR (&) AND / . JAR JRE 6u13 (1.6.0_13) JRE 6 6u10 (1.6.0_10) :.sp -version:"1.6.0_13 1.6* & 1.6.0_10+" release . JAR manifest JAR . (Non-Standard Options) Java HotSpot Virtual Machine . -X -X . -Xbatch . JVM . -Xbatch . -XX:-BackgroundCompilation . -Xbootclasspath:path JAR ZIP (:) boot . boot JDK . rt.jar JRE . -Xbootclasspath/a:path JAR ZIP (:) bootstrap . rt.jar JRE . -Xbootclasspath/p:path JAR ZIP (:) bootstrap . rt.jar JRE . -Xcheck:jni Java Native Interface (JNI) . JNI JNI . JVM . . -Xcomp . Client VM (-client) Server VM (-server) . -Xcomp . -XX:CompileThreshold . -Xdebug . . -Xdiag . -Xfuture class-file class-file . . -Xint . bytecode . just in time (JIT) . -Xinternalversion JVM -version . -Xloggc:filename GC . -verbose:gc GC . java -Xloggc -verbose:gc . : -Xloggc:garbage-collection.log -Xmaxjitcodesize=size (code cache ) JIT . k K m M g G . -XX:-TieredCompilation : -Xmaxjitcodesize=240m -XX:ReservedCodeCacheSize . -Xmixed bytecode (hot methods) . -Xmnsize heap ( ) (nursery) . k K m M g G ..sp (young generation) heap . GC . (minor garbage collections) . (full garbage collections) . Oracle heap . : -Xmn256m -Xmn262144k -Xmn268435456 -Xmn heap -XX:NewSize -XX:MaxNewSize . -Xmssize ( ) heap . . k K m M g G . : -Xms6291456 -Xms6144k -Xms6m (old generation) (young generation) . heap -Xmn -XX:NewSize . -Xmxsize ( ) . . k K m M g G . . -Xms -Xmx . <> Java SE HotSpot Virtual Machine Garbage Collection Tuning Guide http://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/index.html . : -Xmx83886080 -Xmx81920k -Xmx80m -Xmx -XX:MaxHeapSize . -Xnoclassgc (GC) . GC . -Xnoclassgc GC . (out of memory exception) . -Xrs JVM . (Shutdown hooks) ( ) JVM . JVM . JVM SIGHUP SIGINT SIGTERM . JVM (thread dumps) . JVM SIGQUIT thread dump . JVM SIGINT SIGTERM JVM . -Xrs . -Xrs SIGINT SIGTERM SIGHUP SIGQUIT JVM . -Xrs : o thread dump SIGQUIT . o System.exit() JVM . -Xshare:mode (CDS) . mode : auto CDS . Java HotSpot 32-Bit Client VM . on CDS . (class data sharing) . off CDS . Java HotSpot 32-Bit Server VM Java HotSpot 64-Bit Client VM Java HotSpot 64-Bit Server VM . dump CDS . "Setting the Class Path" . JDK CDS . -XshowSettings:category . category : all . . locale (locale) . properties (system properties) . vm JVM . -Xsssize (thread stack size) ( ) . k K m M g G . : o Linux/ARM (32-bit): 320 KB o Linux/i386 (32-bit): 320 KB o Linux/x64 (64-bit): 1024 KB o OS X (64-bit): 1024 KB o Oracle Solaris/i386 (32-bit): 320 KB o Oracle Solaris/x64 (64-bit): 1024 KB 1024 KB : -Xss1m -Xss1024k -Xss1048576 -XX:ThreadStackSize . -Xusealtsigs SIGUSR1 SIGUSR2 JVM . -XX:+UseAltSigs . -Xverify:mode (bytecode verifier) . . mode : none . Java . remote (bootstrap class loader) . -Xverify . all . Java HotSpot VM . -XX:+DisableAttachMechanism JVM . jcmd jstack jmap jinfo . -XX:ErrorFile=filename . hs_err_pidpid.log pid . ( %p ): -XX:ErrorFile=./hs_err_pid%p.log /var/log/java/java_error.log : -XX:ErrorFile=/var/log/java/java_error.log ( ) . /tmp . -XX:+FailOverToOldVerifier (failover) . ( ). . -XX:LargePageSizeInBytes=size Solaris ( ) . size ( ...). k K m M g G . JVM . (MB) : -XX:LargePageSizeInBytes=4m -XX:MaxDirectMemorySize=size ( ) New I/O ( java.nio) . k K m M g G . JVM NIO . NIO : -XX:MaxDirectMemorySize=1m -XX:MaxDirectMemorySize=1024k -XX:MaxDirectMemorySize=1048576 -XX:NativeMemoryTracking=mode (native memory) JVM . mode : off JVM . -XX:NativeMemoryTracking . summary JVM thread . detail JVM CallSite (committed) . -XX:ObjectAlignmentInBytes=alignment ( ) . . ( ) . (compressed pointers) . : 4GB * ObjectAlignmentInBytes : . . -XX:OnError=string . . -XX:OnError gcore (core image) ( %p ): -XX:OnError="gcore %p;dbx - %p" -XX:OnOutOfMemoryError=string OutOfMemoryError . . -XX:OnError . -XX:+PerfDataSaveToFile jstat(1) Java . hsperfdata_ Java . jstat : jstat -class file:////hsperfdata_ jstat -gc file:////hsperfdata_ -XX:+PrintCommandLineFlags JVM . JVM heap (garbage collector) . . -XX:+PrintNMTStatistics (native memory tracking) JVM (: -XX:NativeMemoryTracking). . -XX:+RelaxAccessControlCheck (verifier) . ( ). . -XX:+ShowMessageBoxOnError JVM . JVM . . -XX:ThreadStackSize=size (thread stack) ( ) . k K m M g G . : o Linux/ARM (32-bit): 320 KB o Linux/i386 (32-bit): 320 KB o Linux/x64 (64-bit): 1024 KB o OS X (64-bit): 1024 KB o Oracle Solaris/i386 (32-bit): 320 KB o Oracle Solaris/x64 (64-bit): 1024 KB 1024 KB : -XX:ThreadStackSize=1m -XX:ThreadStackSize=1024k -XX:ThreadStackSize=1048576 -Xss . -XX:+TraceClassLoading . . -XX:+TraceClassLoadingPreorder . . -XX:+TraceClassResolution constant pool . constant pool . -XX:+TraceClassUnloading . . -XX:+TraceLoaderConstraints (loader constraints) . . -XX:+UseAltSigs SIGUSR1 SIGUSR2 JVM . . -Xusealtsigs . -XX:-UseBiasedLocking (biased locking) . . biased locking Java Tuning White Paper http://www.oracle.com/technetwork/java/tuning-139912.html#section4.2.5 ..sp . -XX:-UseCompressedOops (compressed pointers) . Java heap 32 GB . Java heap 32 GB . JVM . Java heap 32GB . -XX:ObjectAlignmentInBytes . -XX:+UseHugeTLBFS Linux -XX:+UseLargePages . . (large pages) JVM -XX:UseTransparentHugePages . <> . -XX:+UseLargePages (large page memory) . . <> . -XX:+UseMembar membar (thread state transitions) . ARM . ( ARM .) -XX:+UsePerfData perfdata . JVM . hsperfdata_userid . perfdata -XX:-UsePerfData . -XX:+UseTransparentHugePages Linux . . transparent huge pages huge pages . <> . -XX:+AllowUserSignalHandlers (signal handlers) . . JIT (Advanced JIT Compiler Options) (JIT - Just-In-Time) Java HotSpot VM . -XX:+AggressiveOpts . . -XX:AllocateInstancePrefetchLines=lines (prefetch) . 1 : -XX:AllocateInstancePrefetchLines=1 Java HotSpot Server VM . -XX:AllocatePrefetchDistance=size ( ) (prefetch distance) . . . . . k K m M g G . -1 . 1024 : -XX:AllocatePrefetchDistance=1024 Java HotSpot Server VM . -XX:AllocatePrefetchInstr=instruction . Java HotSpot Server VM . 0 3 . . 0 : -XX:AllocatePrefetchInstr=0 Java HotSpot Server VM . -XX:AllocatePrefetchLines=lines (cache lines) . 1 3 . 5 : -XX:AllocatePrefetchLines=5 Java HotSpot Server VM . -XX:AllocatePrefetchStepSize=size ( ) . k K m M g G . 16 : -XX:AllocatePrefetchStepSize=16 Java HotSpot Server VM . -XX:AllocatePrefetchStyle=style . style 0 3 : 0 . 1 . . 2 (TLAB) . 3 BIS SPARC . Java HotSpot Server VM . -XX:+BackgroundCompilation . . -XX:-BackgroundCompilation ( -Xbatch ). -XX:CICompilerCount=threads . JVM 2 JVM 1 (tiered compilation) . 2 : -XX:CICompilerCount=2 -XX:CodeCacheMinimumFreeSpace=size ( ) . k K m M g G . . 500 KB . 1024 MB : -XX:CodeCacheMinimumFreeSpace=1024m -XX:CompileCommand=command,method[,option] . indexOf() String : -XX:CompileCommand=exclude,java/lang/String.indexOf (/) . -XX:+PrintCompilation -XX:+LogCompilation : -XX:CompileCommand=exclude,java.lang.String::indexOf . . . indexOf(String) String : -XX:CompileCommand="exclude,java/lang/String.indexOf,(Ljava/lang/String;)I" (*) . indexOf() : -XX:CompileCommand=exclude,*.indexOf . -XX:CompileCommand : -XX:CompileCommand="exclude java/lang/String indexOf" JIT -XX:CompileCommand .hotspot_compiler . -XX:CompileCommandFile . -XX:CompileCommand (\n) . : break (breakpoint) JVM . compileonly . -XX:CompileOnly . dontinline (inlining) . exclude . help -XX:CompileCommand . inline . log () ( -XX:+LogCompilation) () . . option JIT (option) . . BlockLayoutByFrequency append() StringBuffer : -XX:CompileCommand=option,java/lang/StringBuffer.append,BlockLayoutByFrequency . print . quiet . -XX:CompileCommand indexOf() String : CompilerOracle: exclude java/lang/String.indexOf -XX:CompileCommand=quiet -XX:CompileCommand . -XX:CompileCommandFile=filename JIT . .hotspot_compiler JIT . . toString() String : print java/lang/String toString JIT -XX:CompileCommand . -XX:CompileOnly=methods ( ) . . ( ) . length() String size() List : -XX:CompileOnly=java/lang/String.length,java/util/List.size (/) . (cut and paste) -XX:+PrintCompilation -XX:+LogCompilation : -XX:CompileOnly=java.lang.String::length,java.util.List::size (wildcard) : -XX:CompileOnly=java/lang/String -XX:CompileOnly=java/lang -XX:CompileOnly=.length -XX:CompileThreshold=invocations . JVM JIT . JVM . (tiered compilation) -XX:+TieredCompilation . : -XX:CompileThreshold=5000 -Xcomp . -XX:+DoEscapeAnalysis (escape analysis) . . -XX:-DoEscapeAnalysis . Java HotSpot Server VM . -XX:InitialCodeCacheSize=size (code cache) . k K m M g G . 500 . . : -XX:InitialCodeCacheSize=32k -XX:+Inline (method inlining) . . -XX:-Inline . -XX:InlineSmallCode=size ( ) . k K m M g G . . : -XX:InlineSmallCode=1000 -XX:+LogCompilation hotspot.log . -XX:LogFile . . -XX:+LogCompilation -XX:UnlockDiagnosticVMOptions JVM . -XX:+PrintCompilation . -XX:MaxInlineSize=size ( ) . k K m M g G . : -XX:MaxInlineSize=35 -XX:MaxNodeLimit=nodes . : -XX:MaxNodeLimit=65000 -XX:MaxTrivialSize=size ( ) (trivial method) . k K m M g G . : -XX:MaxTrivialSize=6 -XX:+OptimizeStringConcat String . . String -XX:-OptimizeStringConcat . Java HotSpot Server VM . -XX:+PrintAssembly (native) disassembler.so . . . -XX:+PrintAssembly -XX:UnlockDiagnosticVMOptions JVM . -XX:+PrintCompilation (verbose) JVM . . . -XX:+LogCompilation . -XX:+PrintInlining (inlining) . . . -XX:+PrintInlining -XX:+UnlockDiagnosticVMOptions JVM . -XX:ReservedCodeCacheSize=size (code cache ) JIT . k K m M g G . (tiered compilation) -XX:-TieredCompilation . . -XX:InitialCodeCacheSize . -Xmaxjitcodesize . -XX:RTMAbortRatio=abort_ratio RTM () RTM . (deoptimize) . -XX:+UseRTMDeopt . . deoptimize . -XX:RTMRetryCount=number_of_retries RTM (fallback). . -XX:UseRTMLocking . -XX:-TieredCompilation (tiered compilation) . . Java HotSpot Server VM . -XX:+UseAES (intrinsics) AES Intel AMD SPARC . Intel Westmere ( ) AMD Bulldozer ( ) SPARC ( T4 ) . UseAES UseAESIntrinsics . -XX:+UseAESIntrinsics UseAES UseAESIntrinsics Java HotSpot Server VM . AES -XX:-UseAES -XX:-UseAESIntrinsics . AES : -XX:+UseAES -XX:+UseAESIntrinsics UseAES UseAESIntrinsics -server Java HotSpot Server VM . Client VM . -XX:+UseCodeCacheFlushing . . -XX:-UseCodeCacheFlushing . -XX:+UseCondCardMark (card table) . . Java HotSpot Server VM . -XX:+UseRTMDeopt RTM (abort ratio) . -XX:RTMAbortRatio . deoptimize . . -XX:+UseRTMLocking . -XX:+UseRTMLocking (RTM) (inflated locks) (fallback handler) . . RTM Java HotSpot Server VM x86 Transactional Synchronization Extensions (TSX) . RTM TSX x86 . RTM XBEGIN XABORT XEND XTEST . XBEGIN XEND . XEND (commit) . XABORT XEND . . RTM (fallback) . RTM TSX . RTM (highly contended) ( ) . RTM (coarse-grain locking) . ( .) RTM (false cache line sharing) . . . -XX:+UseSHA (intrinsics) SHA SPARC . UseSHA UseSHA1Intrinsics UseSHA256Intrinsics UseSHA512Intrinsics . UseSHA UseSHA*Intrinsics Java HotSpot Server VM SPARC T4 . sun.security.provider.Sun SHA . SHA -XX:-UseSHA . SHA . : -XX:-UseSHA256Intrinsics. -XX:+UseSHA1Intrinsics SHA-1 . -XX:+UseSHA256Intrinsics SHA-224 SHA-256 . -XX:+UseSHA512Intrinsics SHA-384 SHA-512 . -XX:+UseSuperWord (scalar) (superword) . . -XX:-UseSuperWord . Java HotSpot Server VM . . -XX:+ExtendedDTraceProbes (probe) dtrace . dtrace . -XX:+HeapDumpOnOutOfMemory (heap) (HPROF) java.lang.OutOfMemoryError . -XX:HeapDumpPath . OutOfMemoryError . -XX:HeapDumpPath=path (HPROF) -XX:+HeapDumpOnOutOfMemoryError . java_pidpid.hprof pid . (%p ): -XX:HeapDumpPath=./java_pid%p.hprof /var/log/java/java_heapdump.hprof : -XX:HeapDumpPath=/var/log/java/java_heapdump.hprof -XX:LogFile=path . hotspot.log . /var/log/java/hotspot.log : -XX:LogFile=/var/log/java/hotspot.log -XX:+PrintClassHistogram Control+C (SIGTERM) . . jmap -histo jcmd pid GC.class_histogram pid . -XX:+PrintConcurrentLocks . . java.util.concurrent Control+C (SIGTERM) . . jstack -l jcmd pid Thread.print -l pid . -XX:+UnlockDiagnosticVMOptions JVM . . (GC) Java HotSpot VM . -XX:+AggressiveHeap . (RAM CPU) . . -XX:+AlwaysPreTouch (touching) JVM . main() . . JVM (commit) . -XX:+CMSClassUnloadingEnabled (class unloading) concurrent mark-sweep (CMS) . . CMS -XX:-CMSClassUnloadingEnabled . -XX:CMSExpAvgFactor=percent (0 100) . 25% . 15% : -XX:CMSExpAvgFactor=15 -XX:CMSInitiatingOccupancyFraction=percent (0 100) CMS . -1 . ( ) -XX:CMSTriggerRatio . 20% : -XX:CMSInitiatingOccupancyFraction=20 -XX:+CMSScavengeBeforeRemark (scavenging) remark CMS . . -XX:CMSTriggerRatio=percent (0 100) -XX:MinHeapFreeRatio CMS . 80% . 75% : -XX:CMSTriggerRatio=75 -XX:ConcGCThreads=threads GC . (CPU) JVM . GC 2 : -XX:ConcGCThreads=2 -XX:+DisableExplicitGC System.gc() . System.gc() . System.gc() JVM GC . -XX:+ExplicitGCInvokesConcurrent GC System.gc() . -XX:+UseConcMarkSweepGC . -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses GC System.gc() GC . -XX:+UseConcMarkSweepGC . -XX:G1HeapRegionSize=size garbage-first (G1) . 1 32 . . 16 : -XX:G1HeapRegionSize=16m -XX:+G1PrintHeapRegions G1 . . -XX:G1ReservePercent=percent (0 50) (promotion failure) G1 . 10% . 20% : -XX:G1ReservePercent=20 -XX:InitialHeapSize=size ( ) . 0 1024 1 . k K m M g G . . <> Java SE HotSpot Virtual Machine Garbage Collection Tuning Guide http://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/index.html . : -XX:InitialHeapSize=6291456 -XX:InitialHeapSize=6144k -XX:InitialHeapSize=6m 0 (old generation) (young generation) . -XX:NewSize . -XX:InitialSurvivorRatio=ratio (survivor space) (throughput garbage collector) ( -XX:+UseParallelGC / -XX:+UseParallelOldGC ). -XX:+UseParallelGC -XX:+UseParallelOldGC . ( -XX:-UseAdaptiveSizePolicy) -XX:SurvivorRatio . (S) (Y) (R) : S=Y/(R+2) 2 . . 8 . (2 ) 0.2 . 4 : -XX:InitialSurvivorRatio=4 -XX:InitiatingHeapOccupancyPercent=percent (0 100) GC . GC ( G1). 45% . 0 GC . 75% : -XX:InitiatingHeapOccupancyPercent=75 -XX:MaxGCPauseMillis=time GC ( ) . (soft goal) JVM . . 500 : -XX:MaxGCPauseMillis=500 -XX:MaxHeapSize=size ( ) . 1024 2 . k K m M g G . . -XX:InitialHeapSize -XX:MaxHeapSize . <> Java SE HotSpot Virtual Machine Garbage Collection Tuning Guide http://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/index.html . 80 : -XX:MaxHeapSize=83886080 -XX:MaxHeapSize=81920k -XX:MaxHeapSize=80m SPARC Oracle Solaris 7 Oracle Solaris 8 4,000 . Oracle Solaris 2.6 x86 2,000 . 2,000 . -XX:MaxHeapSize -Xmx . -XX:MaxHeapFreeRatio=percent (0 100) GC . . 70% . 75% : -XX:MaxHeapFreeRatio=75 -XX:MaxMetaspaceSize=size (native memory) (class metadata) . . . 256 : -XX:MaxMetaspaceSize=256m -XX:MaxNewSize=size ( ) (nursery) . . -XX:MaxTenuringThreshold=threshold (tenuring threshold) GC . . (parallel/throughput collector) CMS . : -XX:MaxTenuringThreshold=10 -XX:MetaspaceSize=size (class metadata) (GC) . . (platform) . -XX:MinHeapFreeRatio=percent ( ) GC . . . : -XX:MinHeapFreeRatio=25 -XX:NewRatio=ratio (young generation) (old generation) . . : -XX:NewRatio=1 -XX:NewSize=size ( ) (nursery) . k K m M g G . . GC . GC (minor GC) . GC (full GC) . Oracle . : -XX:NewSize=256m -XX:NewSize=262144k -XX:NewSize=268435456 -XX:NewSize -Xmn . -XX:ParallelGCThreads=threads (threads) . JVM . GC : -XX:ParallelGCThreads=2 -XX:+ParallelRefProcEnabled . . -XX:+PrintAdaptiveSizePolicy . . -XX:+PrintGC GC . . -XX:+PrintGCApplicationConcurrentTime ( GC) . . -XX:+PrintGCApplicationStoppedTime ( GC) . . -XX:+PrintGCDateStamps GC . . -XX:+PrintGCDetails GC . . -XX:+PrintGCTaskTimeStamps GC . . -XX:+PrintGCTimeStamps GC . . -XX:+PrintStringDeduplicationStatistics (deduplication) . . -XX:+UseStringDeduplication . -XX:+PrintTenuringDistribution (tenuring age) . : Desired survivor size 48286924 bytes, new threshold 10 (max 10) - age 1: 28992024 bytes, 28992024 total - age 2: 1366864 bytes, 30358888 total - age 3: 1425912 bytes, 31784800 total ... (Age 1) ( eden survivor ). ( survivor ). . 28 992 024 scavenge eden survivor 1 366 864 2 . n . . -XX:+ScavengeBeforeFullGC GC full GC . . Oracle full GC . GC full GC -XX:-ScavengeBeforeFullGC . -XX:SoftRefLRUPolicyMSPerMB=time ( ) (softly reachable) heap . heap . -XX:SoftRefLRUPolicyMSPerMB heap ( Java HotSpot Client VM) heap ( Java HotSpot Server VM) . Client VM heap Server VM heap . -Xmx . 2.5 : -XX:SoftRefLRUPolicyMSPerMB=2500 -XX:StringDeduplicationAgeThreshold=threshold String deduplication ( ) . . (tenuring) -XX:+PrintTenuringDistribution . String heap deduplication . 3 . -XX:+UseStringDeduplication . -XX:SurvivorRatio=ratio eden survivor . 8 . eden/survivor 4 : -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=percent survivor ( 0 100) young garbage collection . 50% . survivor 30% : -XX:TargetSurvivorRatio=30 -XX:TLABSize=size ( ) (TLAB) . k K m M g G . 0 JVM . TLAB 512 : -XX:TLABSize=512k -XX:+UseAdaptiveSizePolicy . . -XX:-UseAdaptiveSizePolicy ( -XX:SurvivorRatio ). -XX:+UseCMSInitiatingOccupancyOnly CMS . . -XX:+UseConcMarkSweepGC CMS . Oracle (-XX:+UseParallelGC) CMS . G1 (-XX:+UseG1GC) . JVM . -XX:+UseParNewGC JDK 8 : -XX:+UseConcMarkSweepGC -XX:-UseParNewGC. -XX:+UseG1GC garbage-first (G1) . RAM . GC . G1 heap ( 6 ) GC ( 0.5 ) . JVM . -XX:+UseGCOverheadLimit JVM GC OutOfMemoryError . 98% 2% heap GC OutOfMemoryError . heap . -XX:-UseGCOverheadLimit . -XX:+UseNUMA (NUMA) . NUMA . (-XX:+UseParallelGC) . -XX:+UseParallelGC parallel scavenge ( throughput ) . JVM . -XX:+UseParallelOldGC . -XX:+UseParallelOldGC full GC . . -XX:+UseParallelGC . -XX:+UseParNewGC . . -XX:+UseConcMarkSweepGC . -XX:+UseParNewGC -XX:+UseConcMarkSweepGC JDK 8 . -XX:+UseSerialGC (serial garbage collector) . . JVM . -XX:+UseSHM JVM (shared memory) (large pages) . <> . -XX:+UseStringDeduplication (string deduplication) . . G1 (garbage-first) . -XX:+UseG1GC . String String Java heap . String String . -XX:+UseTLAB (TLAB) (young generation) . . TLAB -XX:-UseTLAB . (Deprecated and Removed Options) . -Xincgc (incremental garbage collection) . JDK 8 . -Xrunlibname / (debugging/profiling) . -agentlib . -XX:CMSIncrementalDutyCycle=percent ( ) . JDK 8 -XX:+CMSIncrementalMode . -XX:CMSIncrementalDutyCycleMin=percent ( ) -XX:+CMSIncrementalPacing (duty cycle) . JDK 8 -XX:+CMSIncrementalMode . -XX:+CMSIncrementalMode CMS . JDK 8 CMSIncremental . -XX:CMSIncrementalOffset=percent ( ) () . JDK 8 -XX:+CMSIncrementalMode . -XX:+CMSIncrementalPacing JVM . JDK 8 -XX:+CMSIncrementalMode . -XX:CMSIncrementalSafetyFactor=percent ( ) . JDK 8 -XX:+CMSIncrementalMode . -XX:CMSInitiatingPermOccupancyFraction=percent (permanent generation) GC . JDK 8 . -XX:MaxPermSize=size (permanent generation) ( ) . JDK 8 -XX:MaxMetaspaceSize . -XX:PermSize=size (permanent generation) ( ) . JDK 8 -XX:MetaspaceSize . -XX:+UseSplitVerifier (verification) . : ( ) ( JVM). JDK 8 . -XX:+UseStringCache (caching) . JDK 8 . . java -d64 -server -XX:+AggressiveOpts -XX:+UseLargePages -Xmn10g -Xms26g -Xmx26g java -d64 -XX:+UseG1GC -Xms26g Xmx26g -XX:MaxGCPauseMillis=500 -XX:+PrintGCTimeStamp (LARGE PAGES) (Large pages) huge pages ( ) . (Translation-Lookaside Buffers) . (Translation-Lookaside Buffer TLB) () . TLB . TLB ( TLB miss) . TLB . TLB . . (pin) (paging) . (fragmentation) . JVM . (Large Pages Support) Solaris Linux . Solaris Solaris 9 Multiple Page Size Support (MPSS) . : . Linux 2.6 . 2.4 (backport) . : # cat /proc/meminfo | grep Huge HugePages_Total: 0 HugePages_Free: 0 Hugepagesize: 2048 kB <> . . root : 1. -XX:+UseSHM ( -XX:+UseHugeTLBFS) SHMMAX . Java heap . RAM ( ) : # echo 4294967295 > /proc/sys/kernel/shmmax 2. -XX:+UseSHM -XX:+UseHugeTLBFS . ( 3 GB = 3 * 1024 MB = 3072 MB = 3072 * 1024 kB = 3145728 kB 3145728 kB / 2048 kB = 1536 ): # echo 1536 > /proc/sys/vm/nr_hugepages +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |o /proc (reboot) ( rc.local sysctl.conf) .o /proc/sys/kernel/shmmax | | /proc/sys/vm/nr_hugepages ( ) Java Java heap . o Java heapo Code cacheo | | (marking bitmap) parallel GC nr_hugepages Java heap JVM code cache . | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |1 | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |" (EXIT STATUS)" | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | JVM . Java API | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |System.exit(exitValue) . | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |4 | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |o | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |0 | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |4 | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |o | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |>0 | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |" (SEE ALSO)" | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |4 | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |o | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |javac(1) | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |4 | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |o | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |jdb(1) | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |4 | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |o | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |jar(1) | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |4 | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |o | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |jstat(1) | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ JDK 8 03 March 2015 java(1)