问题回顾 产生背景数据基于数字档案室测试环境,运行内存为:32G,JDK 版本为:1.8.0_221,服务器 *** 作系统为: CentOS 7
基于中国石化项目压力测试需求,我们对当前系统的档案检索(基于Elasticsearch7.1.0)进行千万级数据压力测试
在数据库中准备了一千万数据,将数据分批不断同步到搜索引擎中,**在同步过程中 Elasticsearch 多次报出内存溢出异常,导致同步数据多次失败 **
最开始的解决方案- 指定 JVM 最小堆内存和最小堆内存
- 将垃圾回收器指定为 G1
经过上面两种方案的调整确实有改善,但是还是会出现内存溢出的情况
- 后经排查发现内存确实总是被占满,且Elasticsearch的日志中指出 Swap分区为 0 ,后经开启 Swap 分区,成功将数据同步到 Elasticsearch 中
但是有两个问题在这里没有解决:
- 明明指定了最大堆内存,为什么占用的内存还是超过了限制 ?
- 如果能够及时进行垃圾回收,那么内存空间就够用,到底什么时候会触发垃圾回收,垃圾回收能不能解决我们的问题?
猜测:swap 分区的作用是会用磁盘空间替代内存,当内存不够用的时候会使用磁盘空间充当内存空间,由此解决内存不够用的情况
但是会有缺点,即磁盘空间的效率肯定是比不上内存的,当前大部分的网站都要求响应速度,一般会使用高可用的集群模式,也就是说,一般情况下允许服务因内存问题导致异常,将请求转发到其他正常的环境,但是决不允许响应速度变慢,一个慢就都慢,最后又会压垮服务器,这大概就是阿里云服务器关闭swap 分区的原因
测试环境JVM配置[root@izhp34pg9zy2co3hcg83lez ~]# java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize'
uintx ErgoHeapSizeLimit = 0 {product}
uintx HeapSizePerGCThread = 87241520 {product}
uintx InitialHeapSize := 526385152 {product} ## 物理内存的 1/64
uintx LargePageHeapSizeThreshold = 134217728 {product}
uintx MaxHeapSize := 8392802304 {product} ## 物理内存的 1/4
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
单独查看文件服务 JVM 信息
[root@izhp34pg9zy2co3hcg83lez ~]# ps -ef|grep fserver
root 959 1 0 10:02 pts/0 00:00:07 java -Xverify:none -cp /home/data/services/fserver/config:/home/data/services/fserver/lib/* com.archser.fserver.common.config.MainConfig
root 14839 7383 0 11:39 pts/4 00:00:00 grep --color=auto fserver
[root@izhp34pg9zy2co3hcg83lez ~]# jcmd 959 VM.flags
959:
-XX:-BytecodeVerificationLocal -XX:-BytecodeVerificationRemote -XX:CICompilerCount=3 -XX:InitialHeapSize=526385152 -XX:MaxHeapSize=8392802304 -XX:MaxNewSize=2797600768 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=175112192 -XX:OldSize=351272960 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseFastUnorderedTimeStamps -XX:+UseParallelGC
使用 Jmap 查看JVM信息
[root@izhp34pg9zy2co3hcg83lez ~]# jmap -heap 959
Attaching to process ID 959, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.221-b11
using thread-local object allocation.
Parallel GC with 4 thread(s)
Heap Configuration:
MinHeapFreeRatio = 0
MaxHeapFreeRatio = 100
MaxHeapSize = 8392802304 (8004.0MB)
NewSize = 175112192 (167.0MB)
MaxNewSize = 2797600768 (2668.0MB)
OldSize = 351272960 (335.0MB)
NewRatio = 2
SurvivorRatio = 8
MetaspaceSize = 21807104 (20.796875MB)
CompressedClassSpaceSize = 1073741824 (1024.0MB)
MaxMetaspaceSize = 17592186044415 MB
G1HeapRegionSize = 0 (0.0MB)
Heap Usage:
PS Young Generation
Eden Space:
capacity = 360710144 (344.0MB)
used = 35797736 (34.139381408691406MB)
free = 324912408 (309.8606185913086MB)
9.924238781596339% used
From Space:
capacity = 3145728 (3.0MB)
used = 1592424 (1.5186538696289062MB)
free = 1553304 (1.4813461303710938MB)
50.621795654296875% used
To Space:
capacity = 21495808 (20.5MB)
used = 0 (0.0MB)
free = 21495808 (20.5MB)
0.0% used
PS Old Generation
capacity = 206045184 (196.5MB)
used = 11868088 (11.318290710449219MB)
free = 194177096 (185.18170928955078MB)
5.759944381907999% used
11913 interned Strings occupying 1211584 bytes.
垃圾回收器
[root@izhp34pg9zy2co3hcg83lez ~]# java -XX:+PrintCommandLineFlags -version
-XX:InitialHeapSize=524508224 -XX:MaxHeapSize=8392131584 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
问题原因总结
因为我们的档案系统目前有15个业务子系统,且都在同一个服务器上部署,也都没有指定最大堆内存,通过上面的参数可以得出一些结论
-
因为没有指定最大堆内存,所以每个业务系统的最大堆内存都可以占用到物理内存的 1/4 ,如果所有系统都有这么大的占用,那么物理内存肯定是不够用的
-
在 使用 Jmap 查看基本信息 中有一个参数 MaxMetaspaceSize 的值大的离谱,MaxMetaspaceSize 的意思是元空间的大小,与JDK1.7 的永久代类似,但是永久代使用的是JVM的堆内存空间,而元空间使用的是物理内存,直接受到本机的物理内存限制,所以当 MaxMetaspaceSize 不断增加的时候就会直接占用物理内存,导致OOM问题,(78条消息) 深入JVM 原理(七)老年代、永久代和元空间_@SokachWang的博客-CSDN博客_老年代和元空间
-
MinHeapFreeRatio 的值是 0 ,该参数代表当堆(heap)的空闲区域大小下降到指定的百分比时会进行扩容,扩容的上限为 Xmx,JDK1.6为 40,MaxHeapFreeRatio的值是100,该代表当堆(heap)的空闲区域超过指定的百分比时,会进行“缩容”,缩容的下限为Xms,JDK1.6 为 70,
那么按照我们的线上环境参数的理解,也就说当堆的空闲区域到达 0% 的时候就会扩容,也就是说当堆中没有空闲区域时就触发扩容机制,
且当堆的空闲区域超过 100% 时才会触发 “缩容”机制,将内存还给 *** 作系统,这里应该几乎不可能触发
所以元空间占用的内存只增不减,且直接占用物理内存,这和我们发现的现象比较吻合
且在 JAVA10 中这两个值又被恢复了 Factors Affecting Garbage Collection Performance (oracle.com) -
垃圾回收器使用的是 UseParallelGC,可能有些过时,相对于CMS是第一款真正意义上的并发收集器,在CMS之后又有G1,一款好的垃圾回收器也会解决很大问题。
-
但是按照上面的说法肯定是有什么东西不断的追加到元空间,到底是什么,没找到查看的方法,但是根据理论,元数据区保存的就是常量池、方法元信息和 klass(区别于Class) 类元信息,因为在创建索引的业务逻辑中文件服务最主要的工作就是萃取文件中的文本内容,会产生相当多的字符串,而字符串又存在常量池,所以猜测元数据区被占满应该就是保存了大量的包含文本内容的字符串信息,一直增加,且没有及时回收
网上看到的一段话:在现在的主流应用场景下,JVM往往不需要归还多余的内存,甚至不需要动态地调整堆的大小,把-Xms
和-Xmx
设置为相同的数值。
猜测应该是因为现在服务器资源比较容易获取,一个服务器部署一个应用的模式可以避免一个服务器出现问题导致多个服务无法使用,也便于针对某个服务的问题排查与管理
如果真的是一个服务器仅部署一个应用,应该可以有效避免类似问题,因为没有程序在抢占内存,可以避免由于内存竞争导致的 OOM 问题
关键参数含义 -Xms指定应用程序可用的最小堆大小
进程在申请内存时,并不是直接分配物理内存的,而是分配一块虚拟空间,到真正堆这块虚拟空间写入数据时才会通过缺页异常(Page Fault)处理机制分配物理内存,也就是我们看到的进程 Res 指标。
可以简单的认为 *** 作系统的内存分配是“惰性”的,分配并不会发生实际的占用,有数据写入时才会发生内存占用,影响 Res。
所以,哪怕配置了Xms6G
,启动后也不会直接占用 6G 内存,实际占用的内存取决于有没有往这 6G 内存区域中写数据的
指定应用程序可用的最大堆大小,默认为物理内存的1/4。默认当空余堆内存小于指定阈值时,JVM 会增大Heap
到-Xmx
指定的大小。
在32位系统上,系统限制了单个应用分配内存的大小,超出将报错:
在64位系统中jvm分配的内存大小不受限制,可以分配超过实际可用内存的空间,但当可用内存用尽时将使用虚拟内存/swap区,从而导致系统出现抖动(thrashing)现象,系统性能将明显下降。当分配空间超过实际内存非常大时程序启动过程也将变得十分缓慢
-XX:+UseG1GC使用 G1 垃圾回收器
-XX:MinHeapFreeRatio代表当堆(heap)的空闲区域大小下降到指定的百分比时会进行 “扩容” ,扩容的上限为 Xmx,JDK1.6为 40
-XX:MaxHeapFreeRatio代表当堆(heap)的空闲区域超过指定的百分比时,会进行“缩容”,缩容的下限为Xms,JDK1.6 为 70,
-XX:MaxMetaspaceSize使用Java 8以后,关于元空间的JVM参数有两个:-XX:MetaspaceSize=N
和-XX:MaxMetaspaceSize=N
,对于64位JVM来说,元空间的默认初始大小是20.75MB,默认的元空间的最大值是无限。MaxMetaspaceSize用于设置metaspace区域的最大值,这个值可以通过mxbean中的MemoryPoolBean获取到,如果这个参数没有设置,那么就是通过mxbean拿到的最大值是-1,表示无穷大。
由于调整元空间的大小需要Full GC,这是非常昂贵的 *** 作,如果应用在启动的时候发生大量Full GC,通常都是由于永久代或元空间发生了大小调整,基于这种情况,一般建议在JVM参数中将MetaspaceSize和MaxMetaspaceSize设置成一样的值,并设置得比初始值要大
解决方案服务的启动脚本中配置本地验证成功,内存占用没有超过预期目标,并且发现了及时垃圾回收的现象
- 指定最大/小堆内存
-Xms=521m、-Xmx=512m
- 配置元空间的扩容与缩容策略
-XX:MinHeapFreeRatio=40、-XX:MaxHeapFreeRatio=70
- 配置元空间最大占用
-XX:MaxMetaspaceSize=512m
- 使用G1 垃圾回收器
-XX:+UseG1GC
windows 下修改start.bat 文件 , Linux下修改 start.sh 文件
set "JAVA_OPTS=-Xms512m -Xmx512m -XX:+UseG1GC -XX:NativeMemoryTracking=detail -XX:MinHeapFreeRatio=40 -XX:MaxHeapFreeRatio=70 -XX:MaxMetaspaceSize=512m"
Elasticsearch 的 jvm.options 中配置
-XX:-UseConcMarkSweepGC
-XX:-UseCMSInitiatingOccupancyOnly
-XX:+UseG1GC
-XX:InitiatingHeapOccupancyPercent=75
优化前Arthas-boot 监测结果
ID NAME GROU PRIORITY STATE %CPU DELTA_TIME TIME INTERRUPTED DAEMON
-1 VM Thread - -1 - 5.0 0.250 0:9.390 false true
101 XNIO-1 task-1 main 5 WAITING 4.38 0.218 0:5.593 false false
147 XNIO-1 task-56 main 5 WAITING 4.06 0.203 0:5.453 false false
99 XNIO-1 task-10 main 5 WAITING 3.75 0.187 0:5.578 false false
126 XNIO-1 task-35 main 5 WAITING 3.75 0.187 0:5.171 false false
139 XNIO-1 task-48 main 5 WAITING 3.75 0.187 0:5.375 false false
100 XNIO-1 task-7 main 5 WAITING 3.44 0.171 0:5.437 false false
102 XNIO-1 task-11 main 5 WAITING 3.44 0.171 0:5.687 false false
96 XNIO-1 task-4 main 5 WAITING 3.44 0.171 0:5.343 false false
94 XNIO-1 task-5 main 5 WAITING 3.44 0.171 0:5.812 false false
116 XNIO-1 task-25 main 5 WAITING 3.44 0.171 0:5.218 false false
144 XNIO-1 task-53 main 5 WAITING 3.44 0.171 0:5.015 false false
146 XNIO-1 task-55 main 5 WAITING 3.44 0.171 0:5.421 false false
151 XNIO-1 task-60 main 5 WAITING 3.44 0.171 0:5.421 false false
157 XNIO-1 task-66 main 5 WAITING 3.44 0.171 0:5.500 false false
160 XNIO-1 task-69 main 5 WAITING 3.44 0.171 0:5.296 false false
163 XNIO-1 task-72 main 5 WAITING 3.44 0.171 0:5.343 false false
179 XNIO-1 task-88 main 5 WAITING 3.44 0.171 0:5.593 false false
183 XNIO-1 task-92 main 5 WAITING 3.44 0.171 0:5.187 false false
95 XNIO-1 task-12 main 5 WAITING 3.13 0.156 0:5.562 false false
104 XNIO-1 task-13 main 5 WAITING 3.13 0.156 0:5.296 false false
105 XNIO-1 task-14 main 5 BLOCKED 3.13 0.156 0:5.359 false false
106 XNIO-1 task-15 main 5 WAITING 3.13 0.156 0:5.328 false false
108 XNIO-1 task-17 main 5 WAITING 3.13 0.156 0:5.156 false false
111 XNIO-1 task-20 main 5 WAITING 3.13 0.156 0:5.140 false false
122 XNIO-1 task-31 main 5 WAITING 3.13 0.156 0:5.421 false false
129 XNIO-1 task-38 main 5 WAITING 3.13 0.156 0:5.375 false false
134 XNIO-1 task-43 main 5 WAITING 3.13 0.156 0:4.875 false false
136 XNIO-1 task-45 main 5 WAITING 3.13 0.156 0:5.375 false false
138 XNIO-1 task-47 main 5 WAITING 3.13 0.156 0:5.390 false false
142 XNIO-1 task-51 main 5 WAITING 3.13 0.156 0:5.031 false false
Memory used total max usage GC
heap 378M 512M 512M 73.84% gc.g1_young_generation.count 558
g1_eden_space 286M 303M -1 94.39% gc.g1_young_generation.time(ms) 10460
g1_survivor_space 20M 20M -1 100.00% gc.g1_old_generation.count 0
g1_old_gen 72M 189M 512M 14.08% gc.g1_old_generation.time(ms) 0
nonheap 79M 83M 1256M 6.32%
code_cache 27M 29M 240M 11.46%
metaspace 46M 48M 512M 9.14%
compressed_class_space 5M 5M 504M 1.01%
direct 3M 3M - 100.00%
mapped 0K 0K - 0.00%
Runtime
os.name Windows 10
os.version 10.0
java.version 1.8.0_261
java.home D:\JAVA\JDK\jre
systemload.average -1.00
processors 12
timestamp/uptime Sun Apr 24 16:26:50 GMT+08:00 2022/421s
=====================================================================================================
ID NAME GROU P STATE %CPU DELTA_TIME TIME INTERRUPTED DAEMON
-1 VM Thread - - - 5.31 0.265 0:9.656 false true
3 Finalizer syst 8 WAITING 3.75 0.187 0:5.843 false true
98 XNIO-1 task-6 main 5 WAITING 3.75 0.187 0:5.671 false false
107 XNIO-1 task-16 main 5 WAITING 3.75 0.187 0:5.453 false false
141 XNIO-1 task-50 main 5 WAITING 3.75 0.187 0:5.531 false false
143 XNIO-1 task-52 main 5 WAITING 3.75 0.187 0:5.390 false false
146 XNIO-1 task-55 main 5 WAITING 3.75 0.187 0:5.609 false false
148 XNIO-1 task-57 main 5 WAITING 3.75 0.187 0:5.343 false false
179 XNIO-1 task-88 main 5 WAITING 3.75 0.187 0:5.781 false false
187 XNIO-1 task-96 main 5 WAITING 3.75 0.187 0:5.250 false false
100 XNIO-1 task-7 main 5 WAITING 3.44 0.171 0:5.609 false false
96 XNIO-1 task-4 main 5 WAITING 3.44 0.171 0:5.515 false false
94 XNIO-1 task-5 main 5 WAITING 3.44 0.171 0:5.984 false false
110 XNIO-1 task-18 main 5 WAITING 3.44 0.171 0:5.265 false false
112 XNIO-1 task-21 main 5 WAITING 3.44 0.171 0:5.421 false false
117 XNIO-1 task-26 main 5 WAITING 3.44 0.171 0:5.531 false false
118 XNIO-1 task-27 main 5 WAITING 3.44 0.171 0:5.500 false false
128 XNIO-1 task-37 main 5 WAITING 3.44 0.171 0:5.812 false false
149 XNIO-1 task-58 main 5 WAITING 3.44 0.171 0:5.390 false false
153 XNIO-1 task-62 main 5 WAITING 3.44 0.171 0:5.484 false false
158 XNIO-1 task-67 main 5 WAITING 3.44 0.171 0:5.343 false false
160 XNIO-1 task-69 main 5 WAITING 3.44 0.171 0:5.468 false false
161 XNIO-1 task-70 main 5 WAITING 3.44 0.171 0:5.640 false false
164 XNIO-1 task-73 main 5 WAITING 3.44 0.171 0:5.703 false false
180 XNIO-1 task-89 main 5 RUNNABLE 3.44 0.171 0:5.171 false false
186 XNIO-1 task-95 main 5 WAITING 3.44 0.171 0:5.468 false false
101 XNIO-1 task-1 main 5 WAITING 3.12 0.156 0:5.750 false false
92 XNIO-1 task-9 main 5 WAITING 3.12 0.156 0:5.750 false false
104 XNIO-1 task-13 main 5 WAITING 3.12 0.156 0:5.453 false false
106 XNIO-1 task-15 main 5 WAITING 3.12 0.156 0:5.484 false false
115 XNIO-1 task-23 main 5 WAITING 3.12 0.156 0:5.671 false false
Memory used total max usage GC
heap 186M 512M 512M 36.49% gc.g1_young_generation.count 573
g1_eden_space 95M 304M -1 31.25% gc.g1_young_generation.time(ms) 10743
g1_survivor_space 19M 19M -1 100.00% gc.g1_old_generation.count 0
g1_old_gen 72M 189M 512M 14.22% gc.g1_old_generation.time(ms) 0
nonheap 79M 83M 1256M 6.31%
code_cache 27M 29M 240M 11.43%
metaspace 46M 48M 512M 9.14%
compressed_class_space 5M 5M 504M 1.01%
direct 3M 3M - 100.00%
mapped 0K 0K - 0.00%
Runtime
os.name Windows 10
os.version 10.0
java.version 1.8.0_261
java.home D:\JAVA\JDK\jre
systemload.average -1.00
processors 12
timestamp/uptime Sun Apr 24 16:26:55 GMT+08:00 2022/426s
参考资料:
- (78条消息) JVM实际内存占用超过Xmx的原因,设置Xmx的技巧_myth_gy的博客-CSDN博客_jvm xmx
- 运维:你们 JAVA 服务内存占用太高,还只增不减!告警了,快来接锅 - 掘金 (juejin.cn)
- JVM源码分析之Metaspace解密 - 你假笨 (lovestblog.cn)
^C[root@izhp34pg9zy2co3hcg83lez ~]# java -XX:+PrintFlagsInitial
[Global flags]
intx ActiveProcessorCount = -1 {product}
uintx AdaptiveSizeDecrementScaleFactor = 4 {product}
uintx AdaptiveSizeMajorGCDecayTimeScale = 10 {product}
uintx AdaptiveSizePausePolicy = 0 {product}
uintx AdaptiveSizePolicyCollectionCostMargin = 50 {product}
uintx AdaptiveSizePolicyInitializingSteps = 20 {product}
uintx AdaptiveSizePolicyOutputInterval = 0 {product}
uintx AdaptiveSizePolicyWeight = 10 {product}
uintx AdaptiveSizeThroughPutPolicy = 0 {product}
uintx AdaptiveTimeWeight = 25 {product}
bool AdjustConcurrency = false {product}
bool AggressiveHeap = false {product}
bool AggressiveOpts = false {product}
intx AliasLevel = 3 {C2 product}
bool AlignVector = true {C2 product}
intx AllocateInstancePrefetchLines = 1 {product}
intx AllocatePrefetchDistance = -1 {product}
intx AllocatePrefetchInstr = 0 {product}
intx AllocatePrefetchLines = 3 {product}
intx AllocatePrefetchStepSize = 16 {product}
intx AllocatePrefetchStyle = 1 {product}
bool AllowJNIEnvProxy = false {product}
bool AllowNonVirtualCalls = false {product}
bool AllowParallelDefineClass = false {product}
bool AllowUserSignalHandlers = false {product}
bool AlwaysActAsServerClassMachine = false {product}
bool AlwaysCompileLoopMethods = false {product}
bool AlwaysLockClassLoader = false {product}
bool AlwaysPreTouch = false {product}
bool AlwaysRestoreFPU = false {product}
bool AlwaysTenure = false {product}
bool AssertOnSuspendWaitFailure = false {product}
bool AssumeMP = false {product}
intx AutoBoxCacheMax = 128 {C2 product}
uintx AutoGCSelectPauseMillis = 5000 {product}
intx BCEATraceLevel = 0 {product}
intx BackEdgeThreshold = 100000 {pd product}
bool BackgroundCompilation = true {pd product}
uintx BaseFootPrintEstimate = 268435456 {product}
intx BiasedLockingBulkRebiasThreshold = 20 {product}
intx BiasedLockingBulkRevokeThreshold = 40 {product}
intx BiasedLockingDecayTime = 25000 {product}
intx BiasedLockingStartupDelay = 4000 {product}
bool BindGCTaskThreadsToCPUs = false {product}
bool BlockLayoutByFrequency = true {C2 product}
intx BlockLayoutMinDiamondPercentage = 20 {C2 product}
bool BlockLayoutRotateLoops = true {C2 product}
bool BranchOnRegister = false {C2 product}
bool BytecodeVerificationLocal = false {product}
bool BytecodeVerificationRemote = true {product}
bool C1OptimizeVirtualCallProfiling = true {C1 product}
bool C1ProfileBranches = true {C1 product}
bool C1ProfileCalls = true {C1 product}
bool C1ProfileCheckcasts = true {C1 product}
bool C1ProfileInlinedCalls = true {C1 product}
bool C1ProfileVirtualCalls = true {C1 product}
bool C1UpdateMethodData = true {C1 product}
intx CICompilerCount = 2 {product}
bool CICompilerCountPerCPU = false {product}
bool CITime = false {product}
bool CMSAbortSemantics = false {product}
uintx CMSAbortablePrecleanMinWorkPerIteration = 100 {product}
intx CMSAbortablePrecleanWaitMillis = 100 {manageable}
uintx CMSBitMapYieldQuantum = 10485760 {product}
uintx CMSBootstrapOccupancy = 50 {product}
bool CMSClassUnloadingEnabled = true {product}
uintx CMSClassUnloadingMaxInterval = 0 {product}
bool CMSCleanOnEnter = true {product}
bool CMSCompactWhenClearAllSoftRefs = true {product}
uintx CMSConcMarkMultiple = 32 {product}
bool CMSConcurrentMTEnabled = true {product}
uintx CMSCoordinatorYieldSleepCount = 10 {product}
bool CMSDumpAtPromotionFailure = false {product}
bool CMSEdenChunksRecordAlways = true {product}
uintx CMSExpAvgFactor = 50 {product}
bool CMSExtrapolateSweep = false {product}
uintx CMSFullGCsBeforeCompaction = 0 {product}
uintx CMSIncrementalDutyCycle = 10 {product}
uintx CMSIncrementalDutyCycleMin = 0 {product}
bool CMSIncrementalMode = false {product}
uintx CMSIncrementalOffset = 0 {product}
bool CMSIncrementalPacing = true {product}
uintx CMSIncrementalSafetyFactor = 10 {product}
uintx CMSIndexedFreeListReplenish = 4 {product}
intx CMSInitiatingOccupancyFraction = -1 {product}
uintx CMSIsTooFullPercentage = 98 {product}
double CMSLargeCoalSurplusPercent = 0.950000 {product}
double CMSLargeSplitSurplusPercent = 1.000000 {product}
bool CMSLoopWarn = false {product}
uintx CMSMaxAbortablePrecleanLoops = 0 {product}
intx CMSMaxAbortablePrecleanTime = 5000 {product}
uintx CMSOldPLABMax = 1024 {product}
uintx CMSOldPLABMin = 16 {product}
uintx CMSOldPLABNumRefills = 4 {product}
uintx CMSOldPLABReactivityFactor = 2 {product}
bool CMSOldPLABResizeQuicker = false {product}
uintx CMSOldPLABToleranceFactor = 4 {product}
bool CMSPLABRecordAlways = true {product}
uintx CMSParPromoteBlocksToClaim = 16 {product}
bool CMSParallelInitialMarkEnabled = true {product}
bool CMSParallelRemarkEnabled = true {product}
bool CMSParallelSurvivorRemarkEnabled = true {product}
uintx CMSPrecleanDenominator = 3 {product}
uintx CMSPrecleanIter = 3 {product}
uintx CMSPrecleanNumerator = 2 {product}
bool CMSPrecleanRefLists1 = true {product}
bool CMSPrecleanRefLists2 = false {product}
bool CMSPrecleanSurvivors1 = false {product}
bool CMSPrecleanSurvivors2 = true {product}
uintx CMSPrecleanThreshold = 1000 {product}
bool CMSPrecleaningEnabled = true {product}
bool CMSPrintChunksInDump = false {product}
bool CMSPrintEdenSurvivorChunks = false {product}
bool CMSPrintObjectsInDump = false {product}
uintx CMSRemarkVerifyVariant = 1 {product}
bool CMSReplenishIntermediate = true {product}
uintx CMSRescanMultiple = 32 {product}
uintx CMSSamplingGrain = 16384 {product}
bool CMSScavengeBeforeRemark = false {product}
uintx CMSScheduleRemarkEdenPenetration = 50 {product}
uintx CMSScheduleRemarkEdenSizeThreshold = 2097152 {product}
uintx CMSScheduleRemarkSamplingRatio = 5 {product}
double CMSSmallCoalSurplusPercent = 1.050000 {product}
double CMSSmallSplitSurplusPercent = 1.100000 {product}
bool CMSSplitIndexedFreeListBlocks = true {product}
intx CMSTriggerInterval = -1 {manageable}
uintx CMSTriggerRatio = 80 {product}
intx CMSWaitDuration = 2000 {manageable}
uintx CMSWorkQueueDrainThreshold = 10 {product}
bool CMSYield = true {product}
uintx CMSYieldSleepCount = 0 {product}
uintx CMSYoungGenPerWorker = 67108864 {pd product}
uintx CMS_FLSPadding = 1 {product}
uintx CMS_FLSWeight = 75 {product}
uintx CMS_SweepPadding = 1 {product}
uintx CMS_SweepTimerThresholdMillis = 10 {product}
uintx CMS_SweepWeight = 75 {product}
bool CheckEndorsedAndExtDirs = false {product}
bool CheckJNICalls = false {product}
bool ClassUnloading = true {product}
bool ClassUnloadingWithConcurrentMark = true {product}
intx ClearFPUAtPark = 0 {product}
bool ClipInlining = true {product}
uintx CodeCacheExpansionSize = 65536 {pd product}
uintx CodeCacheMinimumFreeSpace = 512000 {product}
bool CollectGen0First = false {product}
bool CompactFields = true {product}
intx CompilationPolicyChoice = 0 {product}
ccstrlist CompileCommand = {product}
ccstr CompileCommandFile = {product}
ccstrlist CompileOnly = {product}
intx CompileThreshold = 10000 {pd product}
bool CompilerThreadHintNoPreempt = true {product}
intx CompilerThreadPriority = -1 {product}
intx CompilerThreadStackSize = 0 {pd product}
uintx CompressedClassSpaceSize = 1073741824 {product}
uintx ConcGCThreads = 0 {product}
intx ConditionalMoveLimit = 3 {C2 pd product}
intx ContendedPaddingWidth = 128 {product}
bool ConvertSleepToYield = true {pd product}
bool ConvertYieldToSleep = false {product}
bool CrashOnOutOfMemoryError = false {product}
bool CreateMinidumpOnCrash = false {product}
bool CriticalJNINatives = true {product}
bool DTraceAllocProbes = false {product}
bool DTraceMethodProbes = false {product}
bool DTraceMonitorProbes = false {product}
bool Debugging = false {product}
uintx DefaultMaxRAMFraction = 4 {product}
intx DefaultThreadPriority = -1 {product}
intx DeferPollingPageLoopCount = -1 {product}
intx DeferThrSuspendLoopCount = 4000 {product}
bool DeoptimizeRandom = false {product}
bool DisableAttachMechanism = false {product}
bool DisableExplicitGC = false {product}
bool DisplayVMOutputToStderr = false {product}
bool DisplayVMOutputToStdout = false {product}
bool DoEscapeAnalysis = true {C2 product}
bool DontCompileHugeMethods = true {product}
bool DontYieldALot = false {pd product}
ccstr DumpLoadedClassList = {product}
bool DumpReplayDataOnError = true {product}
bool DumpSharedSpaces = false {product}
bool EagerXrunInit = false {product}
intx EliminateAllocationArraySizeLimit = 64 {C2 product}
bool EliminateAllocations = true {C2 product}
bool EliminateAutoBox = true {C2 product}
bool EliminateLocks = true {C2 product}
bool EliminateNestedLocks = true {C2 product}
intx EmitSync = 0 {product}
bool EnableContended = true {product}
bool EnableResourceManagementTLABCache = true {product}
bool EnableSharedLookupCache = true {product}
bool EnableTracing = false {product}
uintx ErgoHeapSizeLimit = 0 {product}
ccstr ErrorFile = {product}
ccstr ErrorReportServer = {product}
double EscapeAnalysisTimeout = 20.000000 {C2 product}
bool EstimateArgEscape = true {product}
bool ExitOnOutOfMemoryError = false {product}
bool ExplicitGCInvokesConcurrent = false {product}
bool ExplicitGCInvokesConcurrentAndUnloadsClasses = false {product}
bool ExtendedDTraceProbes = false {product}
ccstr ExtraSharedClassListFile = {product}
bool FLSAlwaysCoalesceLarge = false {product}
uintx FLSCoalescePolicy = 2 {product}
double FLSLargestBlockCoalesceProximity = 0.990000 {product}
bool FailOverToOldVerifier = true {product}
bool FastTLABRefill = true {product}
intx FenceInstruction = 0 {ARCH product}
intx FieldsAllocationStyle = 1 {product}
bool FilterSpuriousWakeups = true {product}
ccstr FlightRecorderOptions = {product}
bool ForceNUMA = false {product}
bool ForceTimeHighResolution = false {product}
intx FreqInlineSize = 325 {pd product}
double G1ConcMarkStepDurationMillis = 10.000000 {product}
uintx G1ConcRSHotCardLimit = 4 {product}
uintx G1ConcRSLogCacheSize = 10 {product}
intx G1ConcRefinementGreenZone = 0 {product}
intx G1ConcRefinementRedZone = 0 {product}
intx G1ConcRefinementServiceIntervalMillis = 300 {product}
uintx G1ConcRefinementThreads = 0 {product}
intx G1ConcRefinementThresholdStep = 0 {product}
intx G1ConcRefinementYellowZone = 0 {product}
uintx G1ConfidencePercent = 50 {product}
uintx G1HeapRegionSize = 0 {product}
uintx G1HeapWastePercent = 5 {product}
uintx G1MixedGCCountTarget = 8 {product}
intx G1RSetRegionEntries = 0 {product}
uintx G1RSetScanBlockSize = 64 {product}
intx G1RSetSparseRegionEntries = 0 {product}
intx G1RSetUpdatingPauseTimePercent = 10 {product}
intx G1RefProcDrainInterval = 10 {product}
uintx G1ReservePercent = 10 {product}
uintx G1SATBBufferEnqueueingThresholdPercent = 60 {product}
intx G1SATBBufferSize = 1024 {product}
intx G1UpdateBufferSize = 256 {product}
bool G1UseAdaptiveConcRefinement = true {product}
uintx GCDrainStackTargetSize = 64 {product}
uintx GCHeapFreeLimit = 2 {product}
uintx GCLockerEdenExpansionPercent = 5 {product}
bool GCLockerInvokesConcurrent = false {product}
uintx GCLogFileSize = 8192 {product}
uintx GCPauseIntervalMillis = 0 {product}
uintx GCTaskTimeStampEntries = 200 {product}
uintx GCTimeLimit = 98 {product}
uintx GCTimeRatio = 99 {product}
uintx HeapBaseMinAddress = 2147483648 {pd product}
bool HeapDumpAfterFullGC = false {manageable}
bool HeapDumpBeforeFullGC = false {manageable}
bool HeapDumpOnOutOfMemoryError = false {manageable}
ccstr HeapDumpPath = {manageable}
uintx HeapFirstMaximumCompactionCount = 3 {product}
uintx HeapMaximumCompactionInterval = 20 {product}
uintx HeapSizePerGCThread = 87241520 {product}
bool IgnoreEmptyClassPaths = false {product}
bool IgnoreUnrecognizedVMOptions = false {product}
uintx IncreaseFirstTierCompileThresholdAt = 50 {product}
bool IncrementalInline = true {C2 product}
uintx InitialBootClassLoaderMetaspaceSize = 4194304 {product}
uintx InitialCodeCacheSize = 2555904 {pd product}
uintx InitialHeapSize = 0 {product}
uintx InitialRAMFraction = 64 {product}
double InitialRAMPercentage = 1.562500 {product}
uintx InitialSurvivorRatio = 8 {product}
uintx InitialTenuringThreshold = 7 {product}
uintx InitiatingHeapOccupancyPercent = 45 {product}
bool Inline = true {product}
ccstr InlineDataFile = {product}
intx InlineSmallCode = 1000 {pd product}
bool InlineSynchronizedMethods = true {C1 product}
bool InsertMemBarAfterArraycopy = true {C2 product}
intx InteriorEntryAlignment = 16 {C2 pd product}
intx InterpreterProfilePercentage = 33 {product}
bool JNIDetachReleasesMonitors = true {product}
bool JavaMonitorsInStackTrace = true {product}
intx JavaPriority10_To_OSPriority = -1 {product}
intx JavaPriority1_To_OSPriority = -1 {product}
intx JavaPriority2_To_OSPriority = -1 {product}
intx JavaPriority3_To_OSPriority = -1 {product}
intx JavaPriority4_To_OSPriority = -1 {product}
intx JavaPriority5_To_OSPriority = -1 {product}
intx JavaPriority6_To_OSPriority = -1 {product}
intx JavaPriority7_To_OSPriority = -1 {product}
intx JavaPriority8_To_OSPriority = -1 {product}
intx JavaPriority9_To_OSPriority = -1 {product}
bool LIRFillDelaySlots = false {C1 pd product}
uintx LargePageHeapSizeThreshold = 134217728 {product}
uintx LargePageSizeInBytes = 0 {product}
bool LazyBootClassLoader = true {product}
intx LiveNodeCountInliningCutoff = 40000 {C2 product}
bool LoadExecStackDllInVMThread = true {product}
bool LogCommercialFeatures = false {product}
intx LoopMaxUnroll = 16 {C2 product}
intx LoopOptsCount = 43 {C2 product}
intx LoopUnrollLimit = 60 {C2 pd product}
intx LoopUnrollMin = 4 {C2 product}
bool LoopUnswitching = true {C2 product}
bool ManagementServer = false {product}
uintx MarkStackSize = 4194304 {product}
uintx MarkStackSizeMax = 536870912 {product}
uintx MarkSweepAlwaysCompactCount = 4 {product}
uintx MarkSweepDeadRatio = 5 {product}
intx MaxBCEAEstimateLevel = 5 {product}
intx MaxBCEAEstimateSize = 150 {product}
uintx MaxDirectMemorySize = 0 {product}
bool MaxFDLimit = true {product}
uintx MaxGCMinorPauseMillis = 18446744073709551615 {product}
uintx MaxGCPauseMillis = 18446744073709551615 {product}
uintx MaxHeapFreeRatio = 70 {manageable}
uintx MaxHeapSize = 130862280 {product}
intx MaxInlineLevel = 9 {product}
intx MaxInlineSize = 35 {product}
intx MaxJNILocalCapacity = 65536 {product}
intx MaxJavaStackTraceDepth = 1024 {product}
intx MaxJumpTableSize = 65000 {C2 product}
intx MaxJumpTableSparseness = 5 {C2 product}
intx MaxLabelRootDepth = 1100 {C2 product}
intx MaxLoopPad = 15 {C2 product}
uintx MaxMetaspaceExpansion = 5452592 {product}
uintx MaxMetaspaceFreeRatio = 70 {product}
uintx MaxMetaspaceSize = 18446744073709551615 {product}
uintx MaxNewSize = 18446744073709551615 {product}
intx MaxNodeLimit = 80000 {C2 product}
uint64_t MaxRAM = 137438953472 {pd product}
uintx MaxRAMFraction = 4 {product}
double MaxRAMPercentage = 25.000000 {product}
intx MaxRecursiveInlineLevel = 1 {product}
uintx MaxTenuringThreshold = 15 {product}
intx MaxTrivialSize = 6 {product}
intx MaxVectorSize = 32 {C2 product}
uintx MetaspaceSize = 21810376 {pd product}
bool MethodFlushing = true {product}
uintx MinHeapDeltaBytes = 170392 {product}
uintx MinHeapFreeRatio = 40 {manageable}
intx MinInliningThreshold = 250 {product}
intx MinJumpTableSize = 10 {C2 pd product}
uintx MinMetaspaceExpansion = 340784 {product}
uintx MinMetaspaceFreeRatio = 40 {product}
uintx MinRAMFraction = 2 {product}
double MinRAMPercentage = 50.000000 {product}
uintx MinSurvivorRatio = 3 {product}
uintx MinTLABSize = 2048 {product}
intx MonitorBound = 0 {product}
bool MonitorInUseLists = false {product}
intx MultiArrayExpandLimit = 6 {C2 product}
bool MustCallLoadClassInternal = false {product}
uintx NUMAChunkResizeWeight = 20 {product}
uintx NUMAInterleaveGranularity = 2097152 {product}
uintx NUMAPageScanRate = 256 {product}
uintx NUMASpaceResizeRate = 1073741824 {product}
bool NUMAStats = false {product}
ccstr NativeMemoryTracking = off {product}
bool NeedsDeoptSuspend = false {pd product}
bool NeverActAsServerClassMachine = false {pd product}
bool NeverTenure = false {product}
uintx NewRatio = 2 {product}
uintx NewSize = 1363144 {product}
uintx NewSizeThreadIncrease = 5320 {pd product}
intx NmethodSweepActivity = 10 {product}
intx NmethodSweepCheckInterval = 5 {product}
intx NmethodSweepFraction = 16 {product}
intx NodeLimitFudgeFactor = 2000 {C2 product}
uintx NumberOfGCLogFiles = 0 {product}
intx NumberOfLoopInstrToAlign = 4 {C2 product}
intx ObjectAlignmentInBytes = 8 {lp64_product}
uintx OldPLABSize = 1024 {product}
uintx OldPLABWeight = 50 {product}
uintx OldSize = 5452592 {product}
bool OmitStackTraceInFastThrow = true {product}
ccstrlist OnError = {product}
ccstrlist OnOutOfMemoryError = {product}
intx OnStackReplacePercentage = 140 {pd product}
bool OptimizeFill = true {C2 product}
bool OptimizePtrCompare = true {C2 product}
bool OptimizeStringConcat = true {C2 product}
bool OptoBundling = false {C2 pd product}
intx OptoLoopAlignment = 16 {pd product}
bool OptoScheduling = false {C2 pd product}
uintx PLABWeight = 75 {product}
bool PSChunkLargeArrays = true {product}
intx ParGCArrayScanChunk = 50 {product}
uintx ParGCDesiredObjsFromOverflowList = 20 {product}
bool ParGCTrimOverflow = true {product}
bool ParGCUseLocalOverflow = false {product}
uintx ParallelGCBufferWastePct = 10 {product}
uintx ParallelGCThreads = 0 {product}
bool ParallelGCVerbose = false {product}
uintx ParallelOldDeadWoodLimiterMean = 50 {product}
uintx ParallelOldDeadWoodLimiterStdDev = 80 {product}
bool ParallelRefProcBalancingEnabled = true {product}
bool ParallelRefProcEnabled = false {product}
bool PartialPeelAtUnsignedTests = true {C2 product}
bool PartialPeelLoop = true {C2 product}
intx PartialPeelNewPhiDelta = 0 {C2 product}
uintx PausePadding = 1 {product}
intx PerBytecodeRecompilationCutoff = 200 {product}
intx PerBytecodeTrapLimit = 4 {product}
intx PerMethodRecompilationCutoff = 400 {product}
intx PerMethodTrapLimit = 100 {product}
bool PerfAllowAtExitRegistration = false {product}
bool PerfBypassFileSystemCheck = false {product}
intx PerfDataMemorySize = 32768 {product}
intx PerfDataSamplingInterval = 50 {product}
ccstr PerfDataSaveFile = {product}
bool PerfDataSaveToFile = false {product}
bool PerfDisableSharedMem = false {product}
intx PerfMaxStringConstLength = 1024 {product}
intx PreInflateSpin = 10 {pd product}
bool PreferContainerQuotaForCPUCount = true {product}
bool PreferInterpreterNativeStubs = false {pd product}
intx PrefetchCopyIntervalInBytes = -1 {product}
intx PrefetchFieldsAhead = -1 {product}
intx PrefetchScanIntervalInBytes = -1 {product}
bool PreserveAllAnnotations = false {product}
bool PreserveFramePointer = false {pd product}
uintx PretenureSizeThreshold = 0 {product}
bool PrintAdaptiveSizePolicy = false {product}
bool PrintCMSInitiationStatistics = false {product}
intx PrintCMSStatistics = 0 {product}
bool PrintClassHistogram = false {manageable}
bool PrintClassHistogramAfterFullGC = false {manageable}
bool PrintClassHistogramBeforeFullGC = false {manageable}
bool PrintCodeCache = false {product}
bool PrintCodeCacheOnCompilation = false {product}
bool PrintCommandLineFlags = false {product}
bool PrintCompilation = false {product}
bool PrintConcurrentLocks = false {manageable}
intx PrintFLSCensus = 0 {product}
intx PrintFLSStatistics = 0 {product}
bool PrintFlagsFinal = false {product}
bool PrintFlagsInitial = false {product}
bool PrintGC = false {manageable}
bool PrintGCApplicationConcurrentTime = false {product}
bool PrintGCApplicationStoppedTime = false {product}
bool PrintGCCause = true {product}
bool PrintGCDateStamps = false {manageable}
bool PrintGCDetails = false {manageable}
bool PrintGCID = false {manageable}
bool PrintGCTaskTimeStamps = false {product}
bool PrintGCTimeStamps = false {manageable}
bool PrintHeapAtGC = false {product rw}
bool PrintHeapAtGCExtended = false {product rw}
bool PrintHeapAtSIGBREAK = true {product}
bool PrintJNIGCStalls = false {product}
bool PrintJNIResolving = false {product}
bool PrintOldPLAB = false {product}
bool PrintOopAddress = false {product}
bool PrintPLAB = false {product}
bool PrintParallelOldGCPhaseTimes = false {product}
bool PrintPromotionFailure = false {product}
bool PrintReferenceGC = false {product}
bool PrintSafepointStatistics = false {product}
intx PrintSafepointStatisticsCount = 300 {product}
intx PrintSafepointStatisticsTimeout = -1 {product}
bool PrintSharedArchiveAndExit = false {product}
bool PrintSharedDictionary = false {product}
bool PrintSharedSpaces = false {product}
bool PrintStringDeduplicationStatistics = false {product}
bool PrintStringTableStatistics = false {product}
bool PrintTLAB = false {product}
bool PrintTenuringDistribution = false {product}
bool PrintTieredEvents = false {product}
bool PrintVMOptions = false {product}
bool PrintVMQWaitTime = false {product}
bool PrintWarnings = true {product}
uintx ProcessDistributionStride = 4 {product}
bool ProfileInterpreter = true {pd product}
bool ProfileIntervals = false {product}
intx ProfileIntervalsTicks = 100 {product}
intx ProfileMaturityPercentage = 20 {product}
bool ProfileVM = false {product}
bool ProfilerPrintByteCodeStatistics = false {product}
bool ProfilerRecordPC = false {product}
uintx PromotedPadding = 3 {product}
uintx QueuedAllocationWarningCount = 0 {product}
uintx RTMRetryCount = 5 {ARCH product}
bool RangeCheckElimination = true {product}
intx ReadPrefetchInstr = 0 {ARCH product}
bool ReassociateInvariants = true {C2 product}
bool ReduceBulkZeroing = true {C2 product}
bool ReduceFieldZeroing = true {C2 product}
bool ReduceInitialCardMarks = true {C2 product}
bool ReduceSignalUsage = false {product}
intx RefDiscoveryPolicy = 0 {product}
bool ReflectionWrapResolutionErrors = true {product}
bool RegisterFinalizersAtInit = true {product}
bool RelaxAccessControlCheck = false {product}
ccstr ReplayDataFile = {product}
bool RequireSharedSpaces = false {product}
uintx ReservedCodeCacheSize = 50331648 {pd product}
bool ResizeOldPLAB = true {product}
bool ResizePLAB = true {product}
bool ResizeTLAB = true {pd product}
bool RestoreMXCSROnJNICalls = false {product}
bool RestrictContended = true {product}
bool RewriteBytecodes = true {pd product}
bool RewriteFrequentPairs = true {pd product}
intx SafepointPollOffset = 256 {C1 pd product}
intx SafepointSpinBeforeYield = 2000 {product}
bool SafepointTimeout = false {product}
intx SafepointTimeoutDelay = 10000 {product}
bool ScavengeBeforeFullGC = true {product}
intx SelfDestructTimer = 0 {product}
uintx SharedBaseAddress = 34359738368 {product}
ccstr SharedClassListFile = {product}
uintx SharedMiscCodeSize = 122880 {product}
uintx SharedMiscDataSize = 4194304 {product}
uintx SharedReadOnlySize = 16777216 {product}
uintx SharedReadWriteSize = 16777216 {product}
bool ShowMessageBoxOnError = false {product}
intx SoftRefLRUPolicyMSPerMB = 1000 {product}
bool SpecialEncodeISOArray = true {C2 product}
bool SplitIfBlocks = true {C2 product}
intx StackRedPages = 1 {pd product}
intx StackShadowPages = 20 {pd product}
bool StackTraceInThrowable = true {product}
intx StackYellowPages = 2 {pd product}
bool StartAttachListener = false {product}
intx StarvationMonitorInterval = 200 {product}
bool StressLdcRewrite = false {product}
uintx StringDeduplicationAgeThreshold = 3 {product}
uintx StringTableSize = 60013 {product}
bool SuppressFatalErrorMessage = false {product}
uintx SurvivorPadding = 3 {product}
uintx SurvivorRatio = 8 {product}
intx SuspendRetryCount = 50 {product}
intx SuspendRetryDelay = 5 {product}
intx SyncFlags = 0 {product}
ccstr SyncKnobs = {product}
intx SyncVerbose = 0 {product}
uintx TLABAllocationWeight = 35 {product}
uintx TLABRefillWasteFraction = 64 {product}
uintx TLABSize = 0 {product}
bool TLABStats = true {product}
uintx TLABWasteIncrement = 4 {product}
uintx TLABWasteTargetPercent = 1 {product}
uintx TargetPLABWastePct = 10 {product}
uintx TargetSurvivorRatio = 50 {product}
uintx TenuredGenerationSizeIncrement = 20 {product}
uintx TenuredGenerationSizeSupplement = 80 {product}
uintx TenuredGenerationSizeSupplementDecay = 2 {product}
intx ThreadPriorityPolicy = 0 {product}
bool ThreadPriorityVerbose = false {product}
uintx ThreadSafetyMargin = 52428800 {product}
intx ThreadStackSize = 1024 {pd product}
uintx ThresholdTolerance = 10 {product}
intx Tier0BackedgeNotifyFreqLog = 10 {product}
intx Tier0InvokeNotifyFreqLog = 7 {product}
intx Tier0ProfilingStartPercentage = 200 {product}
intx Tier23InlineeNotifyFreqLog = 20 {product}
intx Tier2BackEdgeThreshold = 0 {product}
intx Tier2BackedgeNotifyFreqLog = 14 {product}
intx Tier2CompileThreshold = 0 {product}
intx Tier2InvokeNotifyFreqLog = 11 {product}
intx Tier3BackEdgeThreshold = 60000 {product}
intx Tier3BackedgeNotifyFreqLog = 13 {product}
intx Tier3CompileThreshold = 2000 {product}
intx Tier3DelayOff = 2 {product}
intx Tier3DelayOn = 5 {product}
intx Tier3InvocationThreshold = 200 {product}
intx Tier3InvokeNotifyFreqLog = 10 {product}
intx Tier3LoadFeedback = 5 {product}
intx Tier3MinInvocationThreshold = 100 {product}
intx Tier4BackEdgeThreshold = 40000 {product}
intx Tier4CompileThreshold = 15000 {product}
intx Tier4InvocationThreshold = 5000 {product}
intx Tier4LoadFeedback = 3 {product}
intx Tier4MinInvocationThreshold = 600 {product}
bool TieredCompilation = true {pd product}
intx TieredCompileTaskTimeout = 50 {product}
intx TieredRateUpdateMaxTime = 25 {product}
intx TieredRateUpdateMinTime = 1 {product}
intx TieredStopAtLevel = 4 {product}
bool TimeLinearScan = false {C1 product}
bool TraceBiasedLocking = false {product}
bool TraceClassLoading = false {product rw}
bool TraceClassLoadingPreorder = false {product}
bool TraceClassPaths = false {product}
bool TraceClassResolution = false {product}
bool TraceClassUnloading = false {product rw}
bool TraceDynamicGCThreads = false {product}
bool TraceGen0Time = false {product}
bool TraceGen1Time = false {product}
ccstr TraceJVMTI = {product}
bool TraceLoaderConstraints = false {product rw}
bool TraceMetadataHumongousAllocation = false {product}
bool TraceMonitorInflation = false {product}
bool TraceParallelOldGCTasks = false {product}
intx TraceRedefineClasses = 0 {product}
bool TraceSafepointCleanupTime = false {product}
bool TraceSharedLookupCache = false {product}
bool TraceSuspendWaitFailures = false {product}
intx TrackedInitializationLimit = 50 {C2 product}
bool TransmitErrorReport = false {product}
bool TrapBasedNullChecks = false {pd product}
bool TrapBasedRangeChecks = false {C2 pd product}
intx TypeProfileArgsLimit = 2 {product}
uintx TypeProfileLevel = 111 {pd product}
intx TypeProfileMajorReceiverPercent = 90 {C2 product}
intx TypeProfileParmsLimit = 2 {product}
intx TypeProfileWidth = 2 {product}
intx UnguardOnExecutionViolation = 0 {product}
bool UnlinkSymbolsALot = false {product}
bool Use486InstrsOnly = false {ARCH product}
bool UseAES = false {product}
bool UseAESIntrinsics = false {product}
intx UseAVX = 99 {ARCH product}
bool UseAdaptiveGCBoundary = false {product}
bool UseAdaptiveGenerationSizePolicyAtMajorCollection = true {product}
bool UseAdaptiveGenerationSizePolicyAtMinorCollection = true {product}
bool UseAdaptiveNUMAChunkSizing = true {product}
bool UseAdaptiveSizeDecayMajorGCCost = true {product}
bool UseAdaptiveSizePolicy = true {product}
bool UseAdaptiveSizePolicyFootprintGoal = true {product}
bool UseAdaptiveSizePolicyWithSystemGC = false {product}
bool UseAddressNop = false {ARCH product}
bool UseAltSigs = false {product}
bool UseAutoGCSelectPolicy = false {product}
bool UseBMI1Instructions = false {ARCH product}
bool UseBMI2Instructions = false {ARCH product}
bool UseBiasedLocking = true {product}
bool UseBimorphicInlining = true {C2 product}
bool UseBoundThreads = true {product}
bool UseCLMUL = false {ARCH product}
bool UseCMSBestFit = true {product}
bool UseCMSCollectionPassing = true {product}
bool UseCMSCompactAtFullCollection = true {product}
bool UseCMSInitiatingOccupancyOnly = false {product}
bool UseCRC32Intrinsics = false {product}
bool UseCodeCacheFlushing = true {product}
bool UseCompiler = true {product}
bool UseCompilerSafepoints = true {product}
bool UseCompressedClassPointers = false {lp64_product}
bool UseCompressedOops = false {lp64_product}
bool UseConcMarkSweepGC = false {product}
bool UseCondCardMark = false {C2 product}
bool UseContainerSupport = true {product}
bool UseCountLeadingZerosInstruction = false {ARCH product}
bool UseCountTrailingZerosInstruction = false {ARCH product}
bool UseCountedLoopSafepoints = false {C2 product}
bool UseCounterDecay = true {product}
bool UseDivMod = true {C2 product}
bool UseDynamicNumberOfGCThreads = false {product}
bool UseFPUForSpilling = false {C2 product}
bool UseFastAccessorMethods = true {product}
bool UseFastEmptyMethods = true {product}
bool UseFastJNIAccessors = true {product}
bool UseFastStosb = false {ARCH product}
bool UseG1GC = false {product}
bool UseGCLogFileRotation = false {product}
bool UseGCOverheadLimit = true {product}
bool UseGCTaskAffinity = false {product}
bool UseHeavyMonitors = false {product}
bool UseHugeTLBFS = false {product}
bool UseInlineCaches = true {product}
bool UseInterpreter = true {product}
bool UseJumpTables = true {C2 product}
bool UseLWPSynchronization = true {product}
bool UseLargePages = false {pd product}
bool UseLargePagesInMetaspace = false {product}
bool UseLargePagesIndividualAllocation = false {pd product}
bool UseLinuxPosixThreadCPUClocks = true {product}
bool UseLockedTracing = false {product}
bool UseLoopCounter = true {product}
bool UseLoopInvariantCodeMotion = true {C1 product}
bool UseLoopPredicate = true {C2 product}
bool UseMathExactIntrinsics = true {C2 product}
bool UseMaximumCompactionOnSystemGC = true {product}
bool UseMembar = false {pd product}
bool UseMontgomeryMultiplyIntrinsic = false {C2 product}
bool UseMontgomerySquareIntrinsic = false {C2 product}
bool UseMulAddIntrinsic = false {C2 product}
bool UseMultiplyToLenIntrinsic = false {C2 product}
bool UseNUMA = false {product}
bool UseNUMAInterleaving = false {product}
bool UseNewLongLShift = false {ARCH product}
bool UseOSErrorReporting = false {pd product}
bool UseOldInlining = true {C2 product}
bool UseOnStackReplacement = true {pd product}
bool UseOnlyInlinedBimorphic = true {C2 product}
bool UseOprofile = false {product}
bool UseOptoBiasInlining = true {C2 product}
bool UsePSAdaptiveSurvivorSizePolicy = true {product}
bool UseParNewGC = false {product}
bool UseParallelGC = false {product}
bool UseParallelOldGC = false {product}
bool UsePerfData = true {product}
bool UsePopCountInstruction = false {product}
bool UseRDPCForConstantTableBase = false {C2 product}
bool UseRTMDeopt = false {ARCH product}
bool UseRTMLocking = false {ARCH product}
bool UseSHA = false {product}
bool UseSHA1Intrinsics = false {product}
bool UseSHA256Intrinsics = false {product}
bool UseSHA512Intrinsics = false {product}
bool UseSHM = false {product}
intx UseSSE = 99 {product}
bool UseSSE42Intrinsics = false {product}
bool UseSerialGC = false {product}
bool UseSharedSpaces = true {product}
bool UseSignalChaining = true {product}
bool UseSquareToLenIntrinsic = false {C2 product}
bool UseStoreImmI16 = true {ARCH product}
bool UseStringDeduplication = false {product}
bool UseSuperWord = true {C2 product}
bool UseTLAB = true {pd product}
bool UseThreadPriorities = true {pd product}
bool UseTransparentHugePages = false {product}
bool UseTypeProfile = true {product}
bool UseTypeSpeculation = true {C2 product}
bool UseUnalignedLoadStores = false {ARCH product}
bool UseVMInterruptibleIO = false {product}
bool UseXMMForArrayCopy = false {product}
bool UseXmmI2D = false {ARCH product}
bool UseXmmI2F = false {ARCH product}
bool UseXmmLoadAndClearUpper = true {ARCH product}
bool UseXmmRegToRegMoveAll = false {ARCH product}
bool VMThreadHintNoPreempt = false {product}
intx VMThreadPriority = -1 {product}
intx VMThreadStackSize = 1024 {pd product}
intx ValueMapInitialSize = 11 {C1 product}
intx ValueMapMaxLoopSize = 8 {C1 product}
intx ValueSearchLimit = 1000 {C2 product}
bool VerifyMergedCPBytecodes = true {product}
bool VerifySharedSpaces = false {product}
intx WorkAroundNPTLTimedWaitHang = 1 {product}
uintx YoungGenerationSizeIncrement = 20 {product}
uintx YoungGenerationSizeSupplement = 80 {product}
uintx YoungGenerationSizeSupplementDecay = 8 {product}
uintx YoungPLABSize = 4096 {product}
bool ZeroTLAB = false {product}
intx hashCode = 5 {product}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)