当前位置:网站首页>JVM调优实战
JVM调优实战
2022-08-02 02:18:00 【ndrandy】
调优原因:生产服务器4核16g,框架SpringBoot,当压测1小时左右时,出现很多次Full GC,GCT总时间也很大。 jvm启动参数:
-Xms10G -Xmx10G -Xmn3g
jdk1.8默认GC
问题分析:
老年代7G,会发生多次FullGC,说明老年代的内存慢慢上涨,但是不是内存泄漏,因为如果是内存泄漏,FullGC完应该会OOM。所以就分析老年代内存逐渐跑满的原因:
一个对象从Eden区创建,到Survivor区域,逃过15次GC,最终才能到老年代,这种老年代的对象,在FullGC发生时,也基本不会被回收。但是压测过程中出现的现象时老年代满了之后,FullGC会回收很大比例的垃圾对象,说明很多对象没逃过15次GC,直接跑到老年代了,所以接下来分析:什么情况对象会 “直接” 跑到老年代?
1、JVM设置了参数(-XX:PretenureSizeThreshold=1000000),大对象直接进入老年代。
2、Minor GC时,Survivor区域太小。
3、老年代内存本身比较小,Minor GC时,有概率触发Full GC
在笔者这里,情况1、3可以排除。只剩下2。
猜测原因:
UseAdaptiveSizePolicy参数导致Survivor动态调整到过小&#x
边栏推荐
- 『网易实习』周记(二)
- LeetCode刷题日记:LCP 03.机器人大冒险
- 软件测试 接口自动化测试 pytest框架封装 requests库 封装统一请求和多个基础路径处理 接口关联封装 测试用例写在yaml文件中 数据热加载(动态参数) 断言
- [ORB_SLAM2] SetPose, UpdatePoseMatrices
- BioVendor人俱乐部细胞蛋白(CC16)Elisa试剂盒研究领域
- MySQL优化策略
- 【LeetCode Daily Question】——704. Binary Search
- Handwriting a blogging platform ~ the first day
- nacos启动报错,已配置数据库,单机启动
- Centos7 安装postgresql并开启远程访问
猜你喜欢
Nanoprobes多组氨酸 (His-) 标签标记:重组蛋白检测方案
[Server data recovery] Data recovery case of server Raid5 array mdisk disk offline
Check if IP or port is blocked
Constructor instance method inheritance of typescript37-class (extends)
BI-SQL丨WHILE
[Unity entry plan] 2D Game Kit: A preliminary understanding of the composition of 2D games
The Paddle Open Source Community Quarterly Report is here, everything you want to know is here
【 wheeled odometer 】
菜刀webshell特征分析
『网易实习』周记(三)
随机推荐
Multi-Party Threshold Private Set Intersection with Sublinear Communication-2021: Interpretation
Rasa 3.x 学习系列- Rasa - Issues 4873 dispatcher.utter_message 学习笔记
Service discovery of kubernetes
项目后台技术Express
PHP uses PHPRedis and Predis
Hash collisions and consistent hashing
软件测试 接口自动化测试 pytest框架封装 requests库 封装统一请求和多个基础路径处理 接口关联封装 测试用例写在yaml文件中 数据热加载(动态参数) 断言
Centos7 install postgresql and enable remote access
2022-08-01 Reflection
Multi-Party Threshold Private Set Intersection with Sublinear Communication-2021:解读
¶ Backtop back to the top is not effective
雇用WordPress开发人员:4个实用的方法
2022-08-01 mysql/stoonedb慢SQL-Q18分析
Nanoprobes纳米探针丨Nanogold偶联物的特点和应用
MySQL8 download, start, configure, verify
Coding Experience Talk
Safety (1)
LeetCode brushing diary: 53, the largest sub-array and
【 wheeled odometer 】
【LeetCode每日一题】——704.二分查找