JAVA8 指令

JAVA8 指令

Scroll Down

该文档来自https://docs.oracle.com/javase,https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html#CBBFHAJA

分类

JVM启动参数共分为三类:

  1. 标准参数(-)
  2. 非标准参数(-X)
  3. 非Stable参数(-XX)

标准参数

参数名称参数含义默认值说明/示例
-agentlib加载指定的本地代理库。库名称后,可以使用逗号分隔的特定于该库的选项列表 如果-agentlib:foo指定了该选项,那么JVM会尝试加载libfoo.so在LD_LIBRARY_PATH系统变量指定的位置中命名的库(在OS X上,此变量为DYLD_LIBRARY_PATH/-agentlib:jdwp = transport = dt_socket,server = y,address = 8000
-agentpath:pathname[=options]加载由绝对路径名指定的本机代理程序库。此选项等效于-agentlib但使用库的完整路径和文件名。
-client选择Java HotSpot客户端VM 选择Java HotSpot客户端VM。Java SE开发工具包(JDK)的64位版本当前忽略此选项,而是使用服务器JVM
-Dproperty=value设置系统属性值 该属性变量是没有空格表示属性的名称的字符串。的值变量是表示属性的值的字符串。如果value是带空格的字符串,则将其用引号引起来(例如-Dfoo="foo bar")
-d32在32位环境中运行应用程序 如果未安装或不支持32位环境,则将报告错误。默认情况下,除非使用64位系统,否则应用程序将在32位环境中运行
-d64在64位环境中运行应用程序 如果未安装或不支持64位环境,则将报告错误。默认情况下,除非使用64位系统,否则应用程序将在32位环境中运行。
-disableassertions/-da禁用断言 默认情况下,所有包和类均禁用断言。
-disablesystemassertions/-dsa在所有系统类中禁用断言
-enableassertions/-ea启用断言 默认情况下,所有包和类均禁用断言。
-enablesystemassertions/-esa在所有系统类中启用断言。
-help
-? 在java不实际运行JVM的情况下显示命令的用法信息。
-jar执行封装在JAR文件中的程序 该文件名参数是与包含在形成一条线的清单JAR文件的名称Main-Class:classname,定义与类public static void main(String[] args)充当应用程序的出发点法,使用该-jar选项时,指定的JAR文件是所有用户类的源,而其他类路径设置将被忽略。
-javaagent:jarpath[=options] 加载指定的Java编程语言代理
-jre-restrict-search 在版本搜索中包括用户专用JRE。
-no-jre-restrict-search 从版本搜索中排除用户专用JRE。
-server选择Java HotSpot服务器VMJDK的64位版本仅支持服务器VM,因此在这种情况下该选项是隐式的。
-showversion显示版本信息并继续执行应用程序 此选项与该选项等效,-version除了后者指示JVM在显示版本信息之后退出之外。
-splash:imgname显示带有imgname指定的图像的初始屏幕 要在启动应用程序时显示目录中的splash.gif文件images,请使用以下选项:-splash:images / splash.gif
-verbose:class显示有关每个已加载类的信息。
-verbose:gc显示有关每个垃圾收集(GC)事件的信息。
-verbose:jni显示有关使用本机方法和其他Java本机接口(JNI)活动的信息。
-version显示版本信息,然后退出 。此选项与该选项等效,-showversion除了后者在显示版本信息后不指示JVM退出之外。
-version:release指定用于运行应用程序的发行版本 如果所java调用命令的版本不符合该规范,并且在系统上找到了适当的实现,则将使用适当的实现。

非标准选项

这些选项是特定于Java HotSpot虚拟机的通用选项。

参数名称参数含义默认值说明/示例
-X显示所有可用-X选项的帮助。
-Xbatch禁用后台编译默认情况下,JVM将方法编译为后台任务,以解释器模式运行该方法,直到后台编译完成。该-Xbatch标志禁用后台编译,以便所有方法的编译都作为前台任务进行,直到完成
-Xbootclasspath:path指定目录列表,JAR文件和ZIP归档文件,并用冒号(:)分隔,以搜索引导类文件不要部署使用此选项覆盖中的类的应用程序rt.jar,因为这违反了JRE二进制代码许可证
-Xbootclasspath/a:path指定目录,JAR文件和ZIP归档文件的列表,并用冒号(:)分隔,以附加到默认引导程序类路径的末尾 不要部署使用此选项覆盖中的类的应用程序rt.jar,因为这违反了JRE二进制代码许可证
-Xbootclasspath/p:path指定目录,JAR文件和ZIP归档文件的列表,并用冒号(:)分隔,以加在默认引导程序类路径的前面。 不要部署使用此选项覆盖中的类的应用程序rt.jar,因为这违反了JRE二进制代码许可证
-Xcheck:jni对Java本机接口(JNI)功能执行其他检查 具体来说,它将在处理JNI请求之前验证传递给JNI函数的参数和运行时环境数据
-Xcomp在第一次调用时强制编译方法 默认情况下,客户VM(-client)执行1,000个解释方法调用,服务器VM(-server)执行10,000个解释方法调用,以收集信息以进行有效的编译.指定该-Xcomp选项将禁用解释的方法调用,从而以提高效率为代价来提高编译性能
-Xdebug 提供向后兼容性
-Xdiag显示其他诊断消息。
-Xfuture启用严格的类文件格式检查,以强制严格符合类文件格式规范 。鼓励开发人员在开发新代码时使用此标志,因为在以后的版本中,更严格的检查将成为默认设置
-Xint以仅解释模式运行应用程序 禁止对本机代码进行编译,并且所有字节码均由解释器执行。即时(JIT)编译器提供的性能优势在此模式下不存在。
-Xinternalversion显示比该-version选项更详细的JVM版本信息,然后退出
-Xloggc:filename设置应将详细的GC事件信息重定向到该文件以进行日志记录的文件 。从-verbose:gc每个记录的事件之前的第一个GC事件开始,写入该文件的信息与经过时间后的输出类似
-Xmaxjitcodesize=size指定JIT编译代码的最大代码缓存大小(以字节为单位)默认的最大代码高速缓存大小为240 MB;默认值为100 MB如果您使用选项禁用分层编译-XX:-TieredCompilation,则默认大小为48 MB:-Xmaxjitcodesize = 240m
-Xmixed由解释器执行所有字节码,但热方法除外,后者被编译为本机代码
-Xmnsize设置年轻一代(苗圃)的堆的初始大小和最大大小(以字节为单位) 追加字母k或K表示千字节,m或M表示兆字节,g或G表示千兆字节。堆的年轻代区域用于新对象。与其他区域相比,在该区域执行GC的频率更高。如果年轻一代的大小太小,则会执行许多次要的垃圾回收。如果大小太大,那么将仅执行完整的垃圾收集,这可能需要很长时间才能完成。Oracle建议您将年轻代的大小保持在整个堆大小的一半到四分之一之间
-Xmssize设置堆的初始大小(以字节为单位) 。此值必须是1024的倍数且大于1 MB。追加字母k或K表示千字节,m或M表示兆字节,g或G表示千兆字节
-Xmxsize指定内存分配池的最大大小(以字节为单位)默认值是在运行时根据系统配置选择的此值必须是1024的倍数且大于2 MB。追加字母k或K表示千字节,m或M表示兆字节,g或G表示千兆字节
-Xnoclassgc禁用类的垃圾收集(GC)。 这样可以节省一些GC时间,从而缩短了应用程序运行期间的中断时间
-Xprof概要分析正在运行的程序并将概要分析数据发送到标准输出 此选项作为实用程序提供,可在程序开发中使用,并且不打算在生产系统中使用
-Xrs减少JVM对操作系统信号的使用 即使JVM突然终止,关闭挂钩也可以通过在关闭时运行用户清除代码(例如关闭数据库连接)来有序关闭Java应用程序
-Xshare:mode设置类数据共享(CDS)模式。此选项的可能模式参数包括 auto: 如果可能,请使用CDS。这是Java HotSpot 32位客户端VM的默认值
on:要求使用CDS。打印错误消息,如果无法使用类数据共享,则退出。
off:不要使用CDS。这是Java HotSpot 32位服务器VM,Java HotSpot 64位客户端VM和Java HotSpot 64位服务器VM的默认值。
dump:手动生成CDS存档。按照“设置类路径”中的说明指定应用程序类路径。
-XshowSettings:category显示设置并继续。该选项的可能类别参数包括: all: 显示所有类别的设置。这是默认值。
locale: 显示与语言环境相关的设置。
properties: 显示与系统属性有关的设置
vm: 显示JVM的设置。
-Xsssize设置线程堆栈大小(以字节为单位)默认值取决于平台:Linux / ARM(32位):320 KB
Linux / i386(32位):320 KB
Linux / x64(64位):1024 KB
OS X(64位):1024 KB
Oracle Solaris / i386(32位):320 KB
Oracle Solaris / x64(64位):1024 KB
附加字母k或K表示KB,m或M表示MB,g或G表示GB
-Xusealtsigs使用替代信号,而不是SIGUSR1和SIGUSR2对JVM内部信号 此选项等效于-XX:+UseAltSigs
-Xverify:mode设置字节码验证器的模式remoteremote: 验证所有未由引导类加载器加载的字节码。如果不指定该-Xverify选项,则这是默认行为
all: 启用所有字节码的验证
none: 禁用所有字节码的验证。-Xverify:none不支持使用

非Stable参数

这些选项控制Java HotSpot VM的运行时行为。

参数名称参数含义默认值说明/示例
-XX:+CheckEndorsedAndExtDirs启用该选项,以防止该java命令运行Java应用程序(如果使用背书标准覆盖机制或扩展机制)
-XX:+ DisableAttachMechanism启用该选项,该选项将禁用使工具连接到JVM的机制该选项被禁用这意味着连接机制启用,您可以使用工具,例如jcmd,jstack,jmap,和jinfo
-XX:ErrorFile=filename指定发生不可恢复的错误时将错误数据写入的路径和文件名,此文件在当前工作目录中创建,并命名为hs_err_pidpid.log,其中pid是导致错误的进程的标识符-XX:ErrorFile=./hs_err_pid%p.log
-XX:+ FailOverToOldVerifier当新类型检查器失败时,启用自动故障转移到旧验证程序该选项被禁用对于具有最新字节码版本的类,它将被忽略(即,被视为禁用)。您可以为具有较旧版本字节码的类启用它
-XX:+FlightRecorder在应用程序运行时启用Java Flight Recorder(JFR)的使用 这是一项商业功能,可与以下-XX:+UnlockCommercialFeatures选项结合使用
-XX:-FlightRecorder在应用程序运行时禁用Java Flight Recorder(JFR)
-XX:FlightRecorderOptions=parameter=value设置控制JFR行为的参数 这是与-XX:+UnlockCommercialFeatures选件结合使用的商业功能
-XX:LargePageSizeInBytes=size在Solaris上,设置用于Java堆的大页面的最大大小(以字节为单位)大小设置为0追加字母k或K表示千字节,m或M表示兆字节,g或G表示千兆字节
-XX:MaxDirectMemorySize=size设置新I / O(java.nio程序包)直接缓冲区分配的最大总大小(以字节为单位)大小设置为0追加字母k或K表示千字节,m或M表示兆字节,g或G表示千兆字节
-XX:NativeMemoryTracking=mode指定用于跟踪JVM本机内存使用情况的模式offoff: 不跟踪JVM本机内存使用情况。
summary: 仅跟踪JVM子系统(例如Java堆,类,代码和线程)的内存使用情况
detail: 除了跟踪JVM子系统的内存使用情况之外,还跟踪单个CallSite,单个虚拟内存区域及其提交区域的内存使用情况
-XX:ObjectAlignmentInBytes=alignment设置Java对象的内存对齐方式(以字节为单位)该值设置为8个字节指定的值应为2的幂,并且必须在8到256(含)范围内。使用此选项,可以使用Java堆大小较大的压缩指针
-XX:OnError=string设置在发生不可恢复的错误时运行的自定义命令或一系列用分号分隔的命令 字符串包含空格,则必须将其用引号引起来
-XX:OnOutOfMemoryError=string设置自定义命令或一系列以分号分隔的命令,以在OutOfMemoryError首次引发异常时运行 请参见该-XX:OnError选项的描述
-XX:+PerfDataSaveToFileJava应用程序退出时保存jstat(1)二进制数据 二进制数据保存在名为的文件中hsperfdata_,该文件是您运行的Java应用程序的进程标识符
-XX:-PreferContainerQuotaForCPUCount
-XX:+ PrintCommandLineFlags启用打印在命令行上出现的按人体工程学选择的JVM标志此选项为禁用状态
-XX:+PrintContainerInfo打印有关容器的以下信息
-XX:+PrintNMTStatistics启用在JVM出口处打印收集的本机内存跟踪数据此选项为禁用状态请参阅参考资料-XX:NativeMemoryTracking
-XX:+RelaxAccessControlCheck减少验证器中的访问控制检查数量此选项是禁用的
-XX:+ResourceManagement在应用程序运行时启用资源管理 这是一项商业功能
-XX:ResourceManagementSampleInterval=value (milliseconds)设置控制资源管理测量的采样间隔的参数(以毫秒为单位) 仅当启用资源管理(即,-XX:+ResourceManagement指定了该选项)时,才可以使用此选项
-XX:SharedArchiveFile=path指定类数据共享(CDS)存档文件的路径和名称
XX:SharedClassListFile=file_name指定文本文件,该文件包含要存储在类数据共享(CDS)归档中的类文件的名称
-XX:+ ShowMessageBoxOnError当JVM遇到不可恢复的错误时,启用对话框的显示
-XX:StartFlightRecording=parameter=value启动Java应用程序的JFR记录 这是与-XX:+UnlockCommercialFeatures选件结合使用的商业功能
-XX:ThreadStackSize=size设置线程堆栈大小(以字节为单位)Linux / ARM(32位):320 KB
Linux / i386(32位):320 KB Linux / x64(64位):1024 KB
OS X(64位):1024 KB
Oracle Solaris / i386(32位):320 KB
Oracle Solaris / x64(64位):1024 KB
追加字母k或K表示千字节,m或M表示兆字节,g或G表示千兆字节
-XX:+ TraceClassLoading在加载类时启用跟踪此选项是禁用的
-XX:+ TraceClassLoadingPreorder启用对所有已加载类的引用顺序的跟踪此选项是禁用的
-XX:+ TraceClassResolution启用对恒定池分辨率的跟踪此选项为禁用状态
-XX:+TraceClassUnloading在类卸载时启用跟踪此选项为禁用状态
-XX:+TraceLoaderConstraints启用对装入程序约束记录的跟踪此选项为禁用状态
-XX:+UnlockCommercialFeatures启用商业功能此选项为禁用状态
-XX:+UseAltSigs使得能够使用替代信号,而不是SIGUSR1和SIGUSR2用于JVM内部信号此选项为禁用状态
-XX:+ UseAppCDS启用应用程序类数据共享(AppCDS) 使用AppCDS,还必须指定选项的值-XX:SharedClassListFile和-XX:SharedArchiveFile两个CDS在转储时间(见选项-Xshare:dump)和应用程序运行时间
-XX:-UseBiasedLocking禁用偏向锁定 启用此标志后,某些具有大量无竞争同步的应用程序可能会获得明显的加速,而具有某些锁定模式的应用程序可能会出现速度下降的情况
-XX:-UseCompressedOops禁用压缩指针的使用选项处于启用状态,并且当Java堆大小小于32 GB时,将使用压缩指针
-XX:-UseContainerSupportVM提供自动容器检测支持,这使VM可以确定在Docker容器中运行的Java进程可用的内存量和处理器数量
-XX:+UseHugeTLBFS启用大页面内存的使用禁用此选项
-XX:+UseLargePages启用大页面内存的使用,此选项是禁用的
-XX:+UseMembar允许在线程状态转换时发出成员默认情况下,此选项在除ARM服务器之外的所有平台上均处于禁用状态
-XX:+UsePerfData启用perfdata功能
-XX:+ UseTransparentHugePages在Linux上,允许使用可以动态增长或缩小的大页面默认情况下禁用此选项
-XX:+AllowUserSignalHandlers通过应用程序启用信号处理程序的安装此选项为禁用状态
-XX:+AggressiveOpts启用积极的性能优化功能,这些功能有望在以后的版本中成为默认功能此选项处于禁用状态
-XX:AllocateInstancePrefetchLines=lines设置要在实例分配指针之前预取的行数要预取的行数设置为1
-XX:AllocatePrefetchDistance=size设置对象分配的预取距离的大小(以字节为单位)默认值设置为-1正值是要预取的字节。追加字母k或K表示千字节,m或M表示兆字节,g或G表示千兆字节
-XX:AllocatePrefetchInstr=instruction将预取指令设置为在分配指针之前进行预取预取指令设置为0可能的值是0到3
-XX:AllocatePrefetchLines=lines使用编译代码中生成的预取指令,设置在最后一次分配对象后要加载的缓存行数
-XX:AllocatePrefetchStepSize=size设置顺序预取指令的步长(以字节为单位)步长设置为16个字节追加字母k或K表示千字节,m或M表示兆字节,g或G表示千兆字节
-XX:AllocatePrefetchStyle=style设置预取指令的生成代码样式。1风格参数是从0至3的整数
-XX:+BackgroundCompilation启用后台编译情况下启用此选项要禁用后台编译,请指定-XX:-BackgroundCompilation(相当于指定-Xbatch)
-XX:CICompilerCount=threads设置用于编译的编译器线程数server:2 client:1
-XX:CodeCacheMinimumFreeSpace=size设置编译所需的最小可用空间(以字节为单位)500 KB追加字母k或K表示千字节,m或M表示兆字节,g或G表示千兆字节
-XX:CompileCommand=command,method[,option]指定要对方法执行的命令 -XX:CompileCommand = exclude,java / lang / String.indexOf
-XX:CompileCommand = exclude,java.lang.String :: indexOf
-XX:CompileCommand = exclude,*.indexOf等
-XX:CompileCommandFile=filename设置从中读取JIT编译器命令的文件.hotspot_compiler文件用于存储JIT编译器执行的命令
-XX:CompileOnly=methods设置应限制编译的方法列表(以逗号分隔) -XX:CompileOnly=java/lang/String.length,java/util/List.size
-XX:CompileOnly=java.lang.String::length,java.util.List::size
-XX:CompileThreshold=invocations设置编译之前解释的方法调用的次数1,500启用分层编译时,将忽略此选项;见选项-XX:+TieredCompilation
-XX:+ DoEscapeAnalysis启用转义分析的使用情况下启用此选项要禁用转义分析,请指定-XX:-DoEscapeAnalysis
-XX:InitialCodeCacheSize=size设置初始代码缓存大小(以字节为单位)500 KB初始代码高速缓存大小应不小于系统的最小内存页面大小
-XX:+Inline启用方法内联默认情况下启用此选项以提高性能要禁用方法内联,请指定-XX:-Inline
-XX:InlineSmallCode=size设置应内联的已编译方法的最大代码大小(以字节为单位)1000字节追加字母k或K表示千字节,m或M表示兆字节,g或G表示千兆字节
-XX:+ LogCompilation允许将编译活动记录到hotspot.log当前工作目录中命名的文件中此选项为禁用状态该-XX:+LogCompilation选项必须与用于-XX:UnlockDiagnosticVMOptions解锁诊断JVM选项的选项一起使用
-XX:MaxInlineSize=size设置要内联方法的最大字节码大小(以字节为单位)35个字节追加字母k或K表示千字节,m或M表示兆字节,g或G表示千兆字节
-XX:MaxNodeLimit=nodes设置在单个方法编译期间要使用的最大节点数65,000
-XX:MaxTrivialSize=size启用优化String串联操作启用此选项要禁用优化String串联操作,请指定-XX:-OptimizeStringConcat
-XX:+PrintAssembly通过使用外部disassembler.so库,可以打印字节码和本机方法的汇编代码此选项为禁用状态该-XX:+PrintAssembly选项必须与用于-XX:UnlockDiagnosticVMOptions解锁诊断JVM选项的选项一起使用
-XX:+PrintCompilation每次编译方法时,通过将消息打印到控制台来启用JVM的详细诊断输出此选项处于禁用状态您也可以使用该-XX:+LogCompilation选项将编译活动记录到文件中
-XX:+PrintInlining启用内联决策的打印此选项为禁用状态该-XX:+PrintInlining选项必须与用于-XX:+UnlockDiagnosticVMOptions解锁诊断JVM选项的选项一起使用
-XX:ReservedCodeCacheSize=size设置JIT编译的代码的最大代码缓存大小(以字节为单位)100 MB如果使用选项禁用分层编译-XX:-TieredCompilation,则默认大小为48 MB。此选项的限制为2 GB。否则,将产生错误。最大代码缓存大小应不小于初始代码缓存大小;见选项-XX:InitialCodeCacheSize。此选项等效于-Xmaxjitcodesize
-XX:RTMAbortRatio=abort_ratioRTM中止比率指定为所有已执行RTM事务的百分比(%)50
-XX:RTMRetryCount=number_of_retries在中止或繁忙时,RTM锁定代码将重试此选项指定的次数,然后再退回到正常的锁定机制5-XX:UseRTMLocking必须启用该选项
-XX:-TieredCompilation禁用分层编译启用此选项
-XX:+UseAES为Intel,AMD和SPARC硬件启用基于硬件的AES内部函数
-XX:+UseAESIntrinsicsUseAES和UseAESIntrinsics标志在默认情况下处于启用状态,并且仅对32位和64位Java HotSpot Server VM支持
-XX:+UseCodeCacheFlushing在关闭编译器之前启用对代码缓存的刷新默认情况下启用此选项要在关闭编译器之前禁用刷新代码缓存,请指定-XX:-UseCodeCacheFlushing
-XX:+UseCondCardMark启用在更新卡表之前检查卡是否已被标记的功能此选项是禁用的
-XX:+UseRTMDeopt根据中止率自动调整RTM锁定默认情况下禁用此选项-XX:+UseRTMLocking必须启用该选项
-XX:+UseRTMLocking使用常规锁定机制作为后备处理程序,为所有膨胀的锁定生成受限事务存储(RTM)锁定代码默认情况下禁用此选项
-XX:+UseSHA为SPARC硬件的SHA加密哈希功能启用基于硬件的内在函数
-XX:+UseSHA1Intrinsics启用S​​HA-1加密哈希函数的内部函数
-XX:+UseSHA256Intrinsics启用S​​HA-224和SHA-256加密哈希函数的内部函数
-XX:+UseSHA512Intrinsics启用S​​HA-384和SHA-512加密哈希函数的内部函数。
-XX:+ UseSuperWord允许将标量运算转换为超字运算默认情况下启用此选项要禁止将标量运算转换为超字运算,请指定-XX:-UseSuperWord
-XX:+ExtendedDTraceProbes启用dtrace影响性能的其他工具探针此选项为禁用状态
-XX:+HeapDumpOnOutOfMemoryErrorjava.lang.OutOfMemoryError引发异常时,使用堆分析器(HPROF)启用将Java堆转储到当前目录中的文件的功能禁用此选项您可以使用该-XX:HeapDumpPath选项显式设置堆转储文件的路径和名称
-XX:HeapDumpPath=path置用于写入由堆分析器(HPROF)提供的堆转储的路径和文件名在当前工作目录中创建该文件,并将其命名为java_pidpid.hprof,其中pid是导致错误的进程的标识符-XX:HeapDumpPath=/var/log/java/java_heapdump.hprof
-XX:LogFile=path设置写入日志数据的路径和文件名该文件在当前工作目录中创建,并命名为hotspot.log-XX:LogFile=/var/log/java/hotspot.log
-XX:+PrintClassHistogram在Control+C事件(SIGTERM)之后启用类实例直方图的打印此选项是禁用的
-XX:+PrintConcurrentLocks启用java.util.concurrent在Control+C事件(SIGTERM)之后打印锁此选项是禁用的
-XX:+ UnlockDiagnosticVMOptions解锁用于诊断JVM的选项此选项是禁用的
-XX:ActiveProcessorCount=x覆盖VM用于计算其用于各种操作(例如垃圾收集和ForkJoinPool)的线程池大小的CPU数量 在docker容器中运行多个Java进程时,此标志对于分区CPU资源很有用。即使UseContainerSupport未启用此标志,也将接受。请参阅-XX:-UseContainerSupport以获取有关启用和禁用容器支持的描述
-XX:+AggressiveHeap启用Java堆优化该选项处于禁用状态
-XX:+AlwaysPreTouch启用在JVM初始化期间触摸Java堆上的每个页面此选项是禁用的
-XX:+CMSClassUnloadingEnabled使用并发标记扫描(CMS)垃圾收集器时,启用类卸载启用此选项要禁用CMS垃圾收集器的类卸载,请指定-XX:-CMSClassUnloadingEnabled
-XX:CMSExpAvgFactor=percent设置在计算并发集合统计信息的指数平均值时用于加权当前样本的时间百分比(0到100)25%
-XX:CMSInitiatingOccupancyFraction=percent设置开始CMS收集周期的旧占用百分比(0到100)1任何负值(包括默认值)都表示-XX:CMSTriggerRatio用于定义初始占用率的值
-XX:+CMSScavengeBeforeRemark在CMS备注步骤之前启用清除尝试此选项是禁用的
-XX:CMSTriggerRatio=percent设置在-XX:MinHeapFreeRatioCMS收集周期开始之前分配的值所指定的百分比(0到100)80%
-XX:ConcGCThreads=threads设置用于并发GC的线程数缺省值取决于JVM可用的CPU数量
-XX:+DisableExplicitGC启用用于禁用对的调用处理的选项System.gc()此选项System.gc()处于禁用状态
-XX:+ExplicitGCInvokesConcurrent通过使用System.gc()请求启用并发GC的调用此选项默认情况下处于禁用状态并且只能与该-XX:+UseConcMarkSweepGC选项一起启用
-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses通过System.gc()在并发GC周期中使用请求和类的卸载来启用并发GC的调用此选项默认情况下处于禁用状态并且只能与该-XX:+UseConcMarkSweepGC选项一起启用
-XX:G1HeapRegionSize=size设置使用垃圾优先(G1)收集器时将Java堆细分为的区域的大小 取值范围是1 MB到32 MB
-XX:+G1PrintHeapRegions允许打印有关G1收集器分配了哪些区域以及回收了哪些区域的信息此选项是禁用的。
-XX:G1ReservePercent=percent设置保留为错误上限的堆百分比(0到50),以减少G1收集器升级失败的可能性10%
-XX:InitialHeapSize=size设置内存分配池的初始大小(以字节为单位)默认值是在运行时根据系统配置选择的此值必须为0或1024的倍数且大于1 MB
-XX:InitialRAMPercentage=percent设置在应用人机工程学启发式方法之前,JVM将用于Java堆的初始内存量1.5625%
-XX:InitialSurvivorRatio=ratio设置吞吐量垃圾收集器使用的初始幸存者空间比率(由-XX:+UseParallelGC和/或- XX:+UseParallelOldGC选项启用)
-XX:InitiatingHeapOccupancyPercent=percent设置开始并发GC周期的堆占用百分比(0到100)45%值为0表示不间断的GC循环
-XX:MaxGCPauseMillis=time设置最大GC暂停时间的目标(以毫秒为单位)没有最大暂停时间值
-XX:MaxHeapSize=size设置内存分配池的最大大小(以字节为单位)默认值是在运行时根据系统配置选择的此值必须是1024的倍数且大于2 MB
-XX:MaxHeapFreeRatio=percent设置GC事件后允许的最大可用堆空间百分比(0到100)70%
-XX:MaxMetaspaceSize=size设置可以分配给类元数据的最大本机内存大小不受限制
-XX:MaxNewSize=size设置年轻代(托儿所)的堆的最大大小(以字节为单位)
-XX:MaxRAMPercentage=percentJVM可用于Java堆的最大内存量25%
-XX:MaxTenuringThreshold=threshold设置用于自适应GC大小调整的最大使用期限阈值15
-XX:MetaspaceSize=size设置分配的类元数据空间的大小,该类元数据空间将在首次超过垃圾收集时触发垃圾收集默认大小取决于平台。
XX:MinHeapFreeRatio=percent设置GC事件后允许的最小最小可用堆空间百分比(0到100)40%
-XX:MinRAMPercentage=percent,JVM可用于Java堆的最大内存量50%
-XX:NewRatio=ratio设置新老一代大小之间的比率2
-XX:NewSize=size为年轻一代(苗圃)设置堆的初始大小(以字节为单位) Oracle建议您将年轻代的大小保持在整个堆大小的一半到四分之一之间
-XX:ParallelGCThreads=threads设置年轻一代和老一代中用于并行垃圾回收的线程数缺省值取决于JVM可用的CPU数量。
-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打印详细的重复数据删除统计信息此选项是禁用的
-XX:+ PrintTenuringDistribution启用打印保有权年龄信息此选项是禁用的
-XX:+ ScavengeBeforeFullGC在每个完整GC之前启用年轻一代的GC启用此选项Oracle建议您不要禁用它,因为在完整GC之前清理年轻一代可以减少从老一代空间到年轻一代空间可访问的对象数量。要在每个完整GC之前禁用年轻一代的GC,请指定-XX:-ScavengeBeforeFullGC
-XX:SoftRefLRUPolicyMSPerMB=time设置在最后一次引用之后,软可访问对象在堆上保持活动状态的时间(以毫秒为单位)缺省值是堆中每个空闲兆字节的生命周期的一秒钟
-XX:StringDeduplicationAgeThreshold=thresholdString达到指定年龄的对象被视为重复数据删除的候选对象3
-XX:SurvivorRatio=ratio设置伊甸园空间大小与幸存者空间大小之间的比率8
-XX:TargetSurvivorRatio=percent设置垃圾回收后所需的剩余空间百分比(0到100)50%
-XX:TLABSize=size设置线程本地分配缓冲区(TLAB)的初始大小(以字节为单位) 追加字母k或K表示千字节,m或M表示兆字节,g或G表示千兆字节。如果此选项设置为0,那么JVM将自动选择初始大小
-XX:+UseAdaptiveSizePolicy启用自适应生成大小调整启用此选项要禁用自适应生成大小调整,-XX:-UseAdaptiveSizePolicy请显式指定并设置内存分配池的大小
-XX:+UseCMSInitiatingOccupancyOnly启用将占用值用作启动CMS收集器的唯一条件此选项是禁用的
-XX:+UseConcMarkSweepGC启用CMS垃圾收集器用于旧版本此选项是禁用的启用此选项后,该-XX:+UseParNewGC选项将自动设置,并且您不应禁用它,因为JDK 8中已弃用以下选项组合:-XX:+UseConcMarkSweepGC -XX:-UseParNewGC
-XX:+UseG1GC启用垃圾优先(G1)垃圾收集器的使用此选项是禁用的
-XX:+ UseGCOverheadLimit启用对在OutOfMemoryError抛出异常之前限制JVM在GC上花费的时间比例的策略的使用启用此选项
-XX:+UseNUMA通过增加应用程序对低延迟内存的使用,在具有非均匀内存体系结构(NUMA)的计算机上启用应用程序的性能优化此选项是禁用的该选项仅在使用并行垃圾收集器(-XX:+UseParallelGC)时可用
-XX:+UseParallelGC允许使用并行清除垃圾收集器(也称为吞吐量收集器)来利用多个处理器来提高应用程序的性能此选项是禁用的则-XX:+UseParallelOldGC除非您明确禁用它
-XX:+UseParallelOldGC允许将并行垃圾收集器用于完整的GC此选项是禁用的启用它会自动启用该-XX:+UseParallelGC选项
-XX:+UseParNewGC允许在年轻一代中使用并行线程进行收集此选项是禁用的设置-XX:+UseConcMarkSweepGC选项后,它将自动启用,使用-XX:+UseParNewGC不带选项-XX:+UseConcMarkSweepGC的选择是在JDK 8弃用
-XX:+UseSerialGC启用串行垃圾收集器的使用此选项是禁用的
-XX:+UseSHM在Linux上,使JVM使用共享内存来设置大页面。
-XX:+ UseStringDeduplication启用字符串重复数据删除此选项是禁用的必须启用垃圾优先(G1)垃圾收集器
-XX:+UseTLAB允许在年轻代空间中使用线程本地分配块(TLAB启用此选项要禁用TLAB,请指定-XX:-UseTLAB。