前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JVM问题分析调优经验

JVM问题分析调优经验

作者头像
MickyInvQ
发布2023-03-10 08:50:04
1870
发布2023-03-10 08:50:04
举报
文章被收录于专栏:InvQ的专栏

一、前言

JVM 性能优化步骤:

  1. 预估系统参数
  2. 压测后,调整 JVM 参数
  3. 线上系统监控和优化
  4. 统一的 JVM 参数模板 线上频繁 Full GC 的表现:
  • 机器 CPU 负载过高
  • 频繁 Full GC 报警
  • 系统无法处理请求或者处理过慢

频繁 Full GC 常见原因:

  1. 对象频繁进入老年代,频繁触发 Full GC系统承载高并发请求,或处理数据量过大,导致 Young GC 频繁,每次 Young GC 过后存活对象太多,内存分配不合理,Survivor 区域过小。
  2. 系统一次性加载过多数据进入内存,大对象直接入老年代,频繁触发 Full GC
  3. 内存泄漏,对象无法回收,一直占用在老年代里,频繁触发 Full GC
  4. MetaSpace (元空间)加载类过多,触发 Full GC
  5. 代码中使用 System.gc(),触发 Full GC

针对以上 Full GC 常见的原因,对应的优化方式:

  1. jstat 分析,合理分配内存,调大 Survivor 区域
  2. dump 出内存快照,用 MAT 工具进行分析,代码上排查
  3. 若内存使用不多,还频繁触发 Full GC,那么优化加载的类
  4. 若内存使用不多,还频繁触发 Full GC
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
    • JVM 性能优化步骤:
      • 频繁 Full GC 常见原因:
        • 针对以上 Full GC 常见的原因,对应的优化方式:
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档