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垃圾回收机制

相关推荐
科技小花4 小时前
全球化深水区,数据治理成为企业出海 “核心竞争力”
大数据·数据库·人工智能·数据治理·数据中台·全球化
X56615 小时前
如何在 Laravel 中正确保存嵌套动态表单数据(主服务与子服务)
jvm·数据库·python
青梅橘子皮5 小时前
Linux---基本指令
linux·运维·服务器
虹科网络安全6 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
2301_771717216 小时前
解决mysql报错:1406, Data too long for column
android·数据库·mysql
axng pmje6 小时前
Java语法进阶
java·开发语言·jvm
小江的记录本7 小时前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
cui_ruicheng7 小时前
Linux进程间通信(三):System V IPC与共享内存
linux·运维·服务器
dvjr cloi7 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
运维全栈笔记7 小时前
Linux安装配置Tomcat保姆级教程:从部署到性能调优
linux·服务器·中间件·tomcat·apache·web