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。

更多资料

相关推荐
摇滚侠6 小时前
AI 编程工具 《TRAE 官方手册》阅读笔记 AI 编程核心 上
人工智能·笔记
前端工作日常9 小时前
我学习到的Java中domain和dto区别
java·后端
码农学院10 小时前
基于Spring Boot的跨境电商多语言订单管理系统架构设计
java·大数据·spring boot
技术小结-李爽10 小时前
【工具】pom文件的<packaging>
java·maven
l1564694811 小时前
突围!图文混合知识库难以解析,Kimi-K3 原生视觉架构深耕知识工作,DMXAPI 统一接口,缩短项目开发周期
java·大数据·开发语言
Ztt66666666611 小时前
六方壶不只看棱角,转得温和才耐看
经验分享·笔记·其他·百度·微信公众平台
布吉岛的石头12 小时前
Java 程序员第 45 阶段11:网关统一路由大模型接口,配合 Nacos 配置治理,灰度路由:基于Nacos元数据实现大模型服务灰度发布与权重路由
java·服务发现
我命由我1234512 小时前
Android 开发问题:Cannot resolve method ‘repeat‘ in ‘String‘
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
baozhengw13 小时前
信创改造-SpringBootJar包改为WAR包部署Tomcat
java·tomcat
M1A113 小时前
基于 Spring AOP 构建系统操作日志:从注解设计到异步落库的完整实战
java