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

相关推荐
你好,赵志伟1 小时前
Socket 编程 TCP
linux·服务器·tcp/ip
Liang_GaRy2 小时前
心路历程-三个了解敲开linux的大门
linux·运维·服务器
星霜笔记3 小时前
Docker 部署 MariaDB+phpMyAdmin+Nextcloud 完整教程
运维·数据库·docker·容器·mariadb
wyiyiyi9 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
CCCC13101639 小时前
嵌入式学习(day 28)线程
jvm·学习
没有bug.的程序员9 小时前
JVM 总览与运行原理:深入Java虚拟机的核心引擎
java·jvm·python·虚拟机
玩转以太网9 小时前
基于W55MH32Q-EVB 实现 HTTP 服务器配置 OLED 滚动显示信息
服务器·网络协议·http
天宇_任9 小时前
Mysql数据库迁移到GaussDB注意事项
数据库·mysql·gaussdb
小晶晶京京10 小时前
day34-LNMP详解
linux·运维·服务器
画个太阳作晴天10 小时前
A12预装app
linux·服务器·前端