java17 gc笔记

示例

sh 复制代码
-Xms32m -Xmx32m -Xlog:gc*

-Xms32m -Xmx32m -Xlog:gc*:logs/gc.log:time

-Xms1g -Xmx2g -XX:NewRatio=2 -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=15 -Xlog:gc*:logs/gc.log:time

-Xms512m -Xmx1g -XX:+UseZGC -Xlog:gc*:logs/gc.log:time

-Xms512m -Xmx1g -XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC -Xlog:gc*:logs/gc.log:time

-Xms512m -Xmx1g -Xlog:gc*:file=logs/gc.log:time,level,tags

-Xms512m -Xmx1g -XX:+UseParallelGC -Xlog:gc*:logs/gc.log:time

-Xms512m -Xmx1g -XX:+UseConcMarkSweepGC -Xlog:gc*:logs/gc.log:time    Unrecognized VM option 'UseConcMarkSweepGC'

-Xms512m -Xmx1g -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Xlog:gc*:logs/gc.log:time

-Xms512m -Xmx1g -XX:+UseShenandoahGC -Xlog:gc*:logs/gc.log:time    Option -XX:+UseShenandoahGC not supported

-Xss512k -Xlog:gc*:logs/gc.log:time

-Xms512m -Xmx1g -XX:+DoEscapeAnalysis -Xlog:gc*:logs/gc.log:time

常见的JVM调优参数

sh 复制代码
-Xms512m     设置初始堆内存大小。
-Xmx1g       设置最大堆内存大小。
-XX:NewRatio=2     设置新生代与老年代的比率。
-XX:SurvivorRatio=8    设置Eden区与Survivor区的比率。
-XX:MaxTenuringThreshold     设置新生代垃圾进入老年代的年龄阈值。
-XX:MetaspaceSize        设置初始元空间大小。
-XX:MaxMetaspaceSize     设置最大元空间大小。
-XX:MetaspaceSize=128m 
-XX:MaxMetaspaceSize=128m 
-XX:+UseG1GC     启用G1垃圾收集器。
-XX:MaxGCPauseMillis=200    设置最大暂停时间目标(GC引起的暂停时间短于200毫秒)来优化GC性能
-XX:+DoEscapeAnalysis       启用逃逸分析

PrintGCDateStamps 在 java17 中已弃用

对于 JDK 11 及以上版本,PrintGCDateStamps 已被弃用,可以使用新的日志记录参数 -Xlog:gc*:logs/gc.log:time

关于MetaspaceSize的说明

复制代码
MetaspaceSize 表示的并非是元空间的大小,它的含义是:主要控制matesaceGC发生的初始阈值,也就是最小阈值。
也就是说当使用的matespace空间到达了MetaspaceSize的时候,就会触发Metaspace的GC。

MaxMetaspaceSize表示的是保证committed的内存不会超过这个值,一旦超过这个值就会触发GC。

注意:在jvm启动的时候,并不会分配MaxMetaspaceSize这么大的一块内存出来,metaspace是可以一直扩容的,直到到达MaxMetaspaceSize。

更多资料

相关推荐
韩立学长3 小时前
【开题答辩实录分享】以《自助游网站的设计与实现》为例进行选题答辩实录分享
java·mysql·spring
ss2733 小时前
线程池:任务队列、工作线程与生命周期管理
java·后端
不像程序员的程序媛3 小时前
Spring的cacheEvict
java·后端·spring
SAP小崔说事儿3 小时前
在数据库中将字符串拆分成表单(SQL和HANA版本)
java·数据库·sql·sap·hana·字符串拆分·无锡sap
凌云若寒4 小时前
半导体代加工企业标签模板痛点的全景式解决方案
java
shoubepatien4 小时前
JAVA -- 11
java·后端·intellij-idea
做cv的小昊4 小时前
【TJU】信息检索与分析课程笔记和练习(1)认识文献
经验分享·笔记·学习·搜索引擎·全文检索
利剑 -~4 小时前
jdk源码解析
java·开发语言
Predestination王瀞潞4 小时前
JDK安装及环境变量配置
java·linux·开发语言
读创商闻5 小时前
崇明岛西滩湿地:离都市最近的候鸟观测笔记
笔记