JVM 调优

目的是:

减少父GC,最终减少STW

也就是父没了,子肯定就会减少

当full gc是,就可能出现STW, (意思是在GC时,就要停用户线程,比如一个用户下单,这时要GC了,下单过程就有卡顿, 其实就是暂时锁死程序,先GC,清掉没用的。 为什么有这么个机制? 如果没有,一边跑下单线程,一边跑GC,搞不好把下单线程中的对象给清了)

这是打开windows下的监控JVM工具

https://www.bilibili.com/video/BV1Wb4y1B7Xv?p=5&vd_source=297c866c71fa77b161812ad631ea2c25

下面的程序,因为局部变量heapTests是不会释放的,但又在不停的new,最后肯定会OOM。

CC这里是一个插件

结果

60m达到了100M的一半,就触发了xxxxx,就会被放到old区,慢慢的就满了,也就会Full GC

下面是把100M调大到200M,这样就好了。因为60m没有200M一半,不会触发年龄判断,同时,每14s触发年轻代的垃圾回收,同时也会把这60M的一起回收的。

底层用G1垃圾回收机制

相关推荐
会挠头但不秃几秒前
Redis数据结构和常用命令
数据库·redis·缓存
楠目1 分钟前
SQL注入与防御:从攻击原理到预编译防御
数据库·sql
无名前端小白2 分钟前
Oracle 转 PostgreSQL, ora2pg docker compose 简单实践版
数据库·postgresql·oracle
庸人自扰612 小时前
Redis从零讲解
数据库·redis·缓存
lypzcgf3 小时前
Coze源码分析-资源库-删除数据库-后端源码-领域服务/数据访问层
数据库·go·coze·coze源码分析·智能体平台·ai应用平台·agent平台
cqsztech3 小时前
oracle linux 10 +pg18 源码安装要点
linux·数据库·oracle
健康平安的活着3 小时前
spring事务传播级别的实操案例2
数据库
安审若无3 小时前
Oracle 闪回过期后的解决方法
数据库·oracle
Navicat中国3 小时前
Navicat 技术指引 | KingbaseES 逆向工程与正向工程
数据库·database·navicat·建模·金仓·kingbasees
奥尔特星云大使3 小时前
ALTER 与 UPDATE、DROP 与 DELETE区别
linux·运维·数据库·mysql