JVM 参数列表

这一篇说一下JVM 参数相关,首先JVM参数中包含着么几类 标准参数(Standard)、非标准参数(Non-Standard)、高级运行时选项、JIT相关编译高级选项、适用性高级选项、GC相关高级参数、不建议使用的参数(可能会被弃用) 后续会对每个系列的参数还有使用技巧进行详细的剖析,这一篇仅仅是个引导。 但是这个系列,对于不感兴趣的同学可能会无聊至极。不过掌握一些技巧还是蛮有趣的。 懂原理,才能更好的使用嘛~ 其中 标准参数:开头直接为参数名、 非标准参数: -X 开头 高级选项:-XX:开头 后跟+为开启,-为关闭 下面是具体的参数: 大家可以对应这个参数列表对应自己看着感兴趣的看看使用,或者检查一下自己了解哪些。 标准参数(Standard): -agentlib:libname -agentpath:pathname -client -Dproperty=value -d32 -d64 -disableassertions[:[packagename]…|:classname] -da[:[packagename]…|:classname] -disablesystemassertions -dsa -enableassertions[:[packagename]…|:classname] -ea[:[packagename]…|:classname] -enablesystemassertions -esa -help -? -jar filename -javaagent:jarpath[=options] -jre-restrict-search -no-jre-restrict-search -server -showversion -splash:imgname -verbose:class -verbose:gc -verbose:jni -version -version:release 这类标准参数,作用信息非常明确,而且大都有具体的选项。会放在最后介绍。 非标准参数(Non-Standard): -X -XBatch -Xbootclasspath:path -Xbootclasspath/a:path -Xbootclasspath/p:path -Xcheck:jni -Xcomp -Xdebug -Xdiag -Xfuture -Xint -Xinternalversion -Xloggc:filename -Xmaxjitcodesize=size -Xmixed -Xmnsize -Xmssize -Xmxsize -Xnoclassgc -Xprof -Xrs -Xshare:(mode、auto、on、off、dump) -XshowSettings:(category、all、locale、properties、vm) -Xsssize -Xusealtsigs -Xverify:(mode、remote、all、none) 这一块儿会首先说明,因为我们日常用的频次高的大部分是这一片参数

高级运行时选项(Advanced Runtime Options): -XX:+CheckEndorsedAndExtDirs -XX:+DisableAttachMechanism -XX:ErrorFile=filename -XX:+FailOverToOldVerifier -XX:+FilghtRecorder -XX:-FilghtRecorder -XX:FilghtRecorderOptions={ parameter=value、 defaultrecording={true|false}、 disk={true|false}、 dumponexit={true|false}、 dumponexitpath=path、 globalbuffersize=size loglevel={quiet|error|warning|info|debug|trace} maxage=time maxchunksize=size maxsize=size repository=path samplethreads={true|false} settings=path stackdepth=depth threadbuffersize=size } -XX:LargePageSizeInBytes=size -XX:MaxDirectMemorySize=size -XX:NativeMemoryTracking={ mode、off、summary、detail } -XX:ObjectAlignmentInBytes=alignment -XX:OnError=string -XX:OnOutOfMemoryError=string -XX:+PerfDataSaveToFile -XX:+PrintCommandLineFlags -XX:+PrintNMTStatistics -XX:+RelaxAccessControlCheck -XX:+ResourceManagement -XX:ResourceManagementSampleInterval=value (milliseconds) -XX:SharedArchiveFile=path -XX:SharedClassListFile=file_name -XX:+ShowMessageBoxOnError -XX:StartFlightRecording={ parameter=value、 compress={true|false}、 defaultrecording={true|false}、 delay=time、 dumponexit={true|false}、 duration=time、 filename=path、 name=identifier、 maxage=time、 maxsize=size、 settings=path } -XX:ThreadStackSize=size -XX:+TraceClassLoading -XX:+TraceClassLoadingPreorder -XX:+TraceClassResolution -XX:+TraceClassUnloading -XX:+TraceLoaderConstraints -XX:+UnlockCommercialFeatures -XX:+UseAltSigs -XX:+UseAppCDS -XX:-UseBiasedLocking -XX:-UseCompressedOops -XX:+UseHugeTLBFS -XX:+UseLargePages -XX:+UseMembar -XX:+UsePerfData -XX:+UseTransparentHugePages -XX:+AllowUserSignalHandlers

JIT相关编译高级选项 Advanced JIT Compiler Options

-XX:+AggressiveOpts -XX:AllocateInstancePrefetchLines=lines -XX:AllocatePrefetchDistance=size -XX:AllocatePrefetchInstr=instruction -XX:AllocatePrefetchLines=lines -XX:AllocatePrefetchStepSize=size -XX:AllocatePrefetchStyle=style -XX:+BackgroundCompilation -XX:CICompilerCount=threads -XX:CodeCacheMinimumFreeSpace=size -XX:CompileCommand=command,method[,option(break、compileonly、dontinline、exclude、help、inline、log、option、print、quiet)] -XX:CompileCommandFile=filename -XX:CompileOnly=methods -XX:CompileThreshold=invocations -XX:+DoEscapeAnalysis -XX:InitialCodeCacheSize=size -XX:+Inline -XX:InlineSmallCode=size -XX:+LogCompilation -XX:MaxInlineSize=size -XX:MaxNodeLimit=nodes -XX:MaxTrivialSize=size -XX:+OptimizeStringConcat -XX:+PrintAssembly -XX:+PrintCompilation -XX:+PrintInlining -XX:ReservedCodeCacheSize=size -XX:RTMAbortRatio=abort_ratio -XX:RTMRetryCount=number_of_retries -XX:-TieredCompilation -XX:+UseAES -XX:+UseAESIntrinsics -XX:+UseCodeCacheFlushing -XX:+UseCondCardMark -XX:+UseRTMDeopt -XX:+UseRTMLocking -XX:+UseSHA -XX:+UseSHA1Intrinsics -XX:+UseSHA256Intrinsics -XX:+UseSHA512Intrinsics -XX:+UseSuperWord

适用性高级选项 Advanced Serviceability Options -XX:+ExtendedDTraceProbes -XX:+HeapDumpOnOutOfMemory -XX:HeapDumpPath=path -XX:LogFile=path -XX:+PrintClassHistogram -XX:+PrintConcurrentLocks -XX:+UnlockDiagnosticVMOptions

GC相关高级参数 Advanced Garbage Collection Options -XX:+AggressiveHeap -XX:+AlwaysPreTouch -XX:+CMSClassUnloadingEnabled -XX:CMSExpAvgFactor=percent -XX:CMSInitiatingOccupancyFraction=percent -XX:+CMSScavengeBeforeRemark -XX:CMSTriggerRatio=percent -XX:ConcGCThreads=threads -XX:+DisableExplicitGC -XX:+ExplicitGCInvokesConcurrent -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses -XX:G1HeapRegionSize=size -XX:+G1PrintHeapRegions -XX:G1ReservePercent=percent -XX:InitialHeapSize=size -XX:InitialSurvivorRatio=ratio -XX:InitiatingHeapOccupancyPercent=percent -XX:MaxGCPauseMillis=time -XX:MaxHeapSize=size -XX:MaxHeapFreeRatio=percent -XX:MaxMetaspaceSize=size -XX:MaxNewSize=size -XX:MaxTenuringThreshold=threshold -XX:MetaspaceSize=size -XX:MinHeapFreeRatio=percent -XX:NewRatio=ratio -XX:NewSize=size -XX:ParallelGCThreads=threads -XX:+ParallelRefProcEnabled -XX:+PrintAdaptiveSizePolicy -XX:+PrintGC -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTaskTimeStamps -XX:+PrintGCTimeStamps -XX:+PrintStringDeduplicationStatistics -XX:+PrintTenuringDistribution -XX:+ScavengeBeforeFullGC -XX:SoftRefLRUPolicyMSPerMB=time -XX:StringDeduplicationAgeThreshold=threshold -XX:SurvivorRatio=ratio -XX:TargetSurvivorRatio=percent -XX:TLABSize=size -XX:+UseAdaptiveSizePolicy -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseConcMarkSweepGC -XX:+UseG1GC -XX:+UseGCOverheadLimit -XX:+UseNUMA -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+UseParNewGC -XX:+UseSerialGC -XX:+UseSHM -XX:+UseStringDeduplication -XX:+UseTLAB

不建议使用的参数 Deprecated and Removed Options -Xincgc -Xrunlibname -XX:CMSIncrementalDutyCycle=percent -XX:CMSIncrementalDutyCycleMin=percent -XX:+CMSIncrementalMode -XX:CMSIncrementalOffset=percent -XX:+CMSIncrementalPacing -XX:CMSIncrementalSafetyFactor=percent -XX:CMSInitiatingPermOccupancyFraction=percent -XX:MaxPermSize=size -XX:PermSize=size -XX:+UseSplitVerifier -XX:+UseStringCache

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JVM参数表

    Java HotSpot VM中-XX:的可配置参数列表进行描述;这些参数可以被松散的聚合成三类:

    兜兜毛毛
  • JVM系列第12讲:JVM参数之查看JVM参数

    该参数表示程序运行时,打印虚拟机接受到的命令行显式参数。我们用下面的命令运行程序:

    陈树义
  • JVM系列三:JVM参数设置、分析

    不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导...

    lyb-geek
  • JVM系列——JVM参数及如何设置

    如何查看参数标准参数-X参数-XX参数Boolean类型非Boolean类型其他参数如何设置参数单位换算JVM常见参数和含义

    田维常
  • JVM系列第14讲:JVM参数之GC日志配置

    说到 Java 虚拟机,不得不提的就是 Java 虚拟机的 GC(Garbage Collection)日志。而对于 GC 日志,我们不仅要学会看懂,而且要学会...

    陈树义
  • JVM系列第13讲:JVM参数之追踪类信息

    我们都知道 JVM 在启动的时候会去加载类信息,那么我们怎么得知他加载了哪些类,又卸载了哪些类呢?我们这一节就来介绍四个 JVM 参数,使用它们我们就可以清晰地...

    陈树义
  • Java可变参数列表

    1、接受的传入参数情况 如public void test(String ...args){...}  1)不使用参数,如test() 2)使用一个或多个参数,...

    斯武丶风晴
  • JVM系列第11讲:JVM参数之堆栈空间配置

    JVM 中最重要的一部分就是堆空间了,基本上大多数的线上 JVM 问题都是因为堆空间造成的 OutOfMemoryError。因此掌握 JVM 关于堆空间的参数...

    陈树义
  • JVM参数配置

    参考:https://docs.oracle.com/cd/E19900-01/819-4742/abeik/index.html

    神秘的寇先森

扫码关注云+社区

领取腾讯云代金券