ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

jdk8及以上版本GC配置

2021-11-29 15:32:41  阅读:130  来源: 互联网

标签:设置 XX jdk8 线程 版本 大小 GC 默认值


备注:以下为2G内存配置,可根据实际情况做调整

 

# 最大堆大小

-Xmx2048m

# 初始堆大小       

-Xms2048m

# 年轻代大小         

-Xmn1024m

#每个线程栈大小,JDK5.0以后每个线程堆栈大小为1M。

-Xss512k

 

# Eden区与Survivor区的大小比值,设置为8,则两个Survivor区与一个Eden区的比值为2:8,一个Survivor区占整个年轻代的1/10         

-XX:SurvivorRatio=8     

 

# 使用 G1 (Garbage First) 垃圾收集器

-XX:+UseG1GC

 

#设置垃圾收集暂停时间最大值指标,默认值:4294967295 。这是一个软目标,Java虚拟机将尽最大努力实现它

-XX:MaxGCPauseMillis=200

 

# 提升年老代的最大临界值(tenuring threshold). 默认值为 15[每次GC,增加1岁,到15岁如果还要存活,放入Old区]       

# -XX:MaxTenuringThreshold=14

 

# 设置垃圾收集器在并行阶段使用的线程数[一般设置为本机CPU线程数相等,即本机同时可以处理的个数,设置过大也没有用] 

-XX:ParallelGCThreads=8   

 

# 并发垃圾收集器使用的线程数量

-XX:ConcGCThreads=8

 

# 设置堆内存保留为假天花板的总量,以降低提升失败的可能性. 默认值是 10.

# -XX:G1ReservePercent=10

 

# 使用G1时Java堆会被分为大小统一的的区(region)。此参数可以指定每个heap区的大小. 默认值将根据 heap size 算出最优解. 最小值为 1Mb, 最大值为 32Mb

# -XX:G1HeapRegionSize=n

 

 

# 指定整个堆的使用率达到多少时, 执行一次并发标记周期, 默认45, 过大会导致并发标记周期迟迟不能启动, 增加FullGC的可能, 过小会导致GC频繁, 会导致应用程序性能有所下降

# -XX:InitiatingHeapOccpancyPercent=n  

 

# 设置Matespace内存大小的参数

-XX:MetaspaceSize=256m

-XX:MaxMetaspaceSize=512M 

 

# 禁止在启动期间显式调用System.gc()

-XX:+DisableExplicitGC

 

# OOM时导出堆到文件

-XX:+HeapDumpOnOutOfMemoryError

 

# 导出OOM的路径

-XX:HeapDumpPath=d:/a.dump

 

# 打印GC详细信息   

-XX:+PrintGCDetails

 

# 打印CG发生的时间戳     

-XX:+PrintGCTimeStamps

 

# 每一次GC前和GC后,都打印堆信息    

-XX:+PrintHeapAtGC  

 

# 监控类的加载    

-XX:+TraceClassLoading

 

# 按下Ctrl+Break后,打印类的信息    

-XX:+PrintClassHistogram

标签:设置,XX,jdk8,线程,版本,大小,GC,默认值
来源: https://www.cnblogs.com/JackpotHan/p/15619616.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有