文章目录

  • 案例
  • Why
  • 解决办法


案例

案例是这样,有一次一个新系统上线,平时都还算正常,结果有一次大促活动的时候,这个系统就直接卡死不动了

大家注意,是直接卡死不动!也就是说,所有请求到这个系统就直接卡住无法处理,无论如何重启这个系统都没任何效果。

这个时候我们当然会想,是不是按照之前的思路,一点一点去分析JVM的GC问题,考虑是不是过于频繁的GC问题导致了系统被卡死?

那当然是会按照之前的思路去分析的,首先使用jstat去看一下系统运行情况,令人吃惊的事情是:JVM几乎每秒都执行一次Full GC,每次都耗时几百毫秒。

我们当时就惊呆了,为什么每秒都有一次Full GC?

结果更加令人吃惊的事情还在后面:我们通过jstat看了一下JVM各个内存区域的使用量,基本都没什么问题,

jvm性能调优实战 - 38System.gcy引发的惨案相关推荐

  1. jvm性能调优实战 -55RPC调用引发的OOM故障

    文章目录 Pre 系统架构介绍 故障发生现场 初步查找内存溢出的故障发生点 分析内存快照找到占用内存最大的对象 通过分析源代码找出原因 铺垫一个关键知识点:RPC框架的类定义 RPC框架的一个bug: ...

  2. jvm性能调优实战 -33每日百亿数据量的实时分析引擎,如何定位和解决频繁Full GC问题

    文章目录 Pre 运行程序用的示例JVM参数 Code 基于jstat分析程序运行的状态 对JVM性能进行优化 小结 Pre jvm性能调优实战 - 27亿级数据量的实时分析引擎,为啥频繁发生Full ...

  3. jvm性能调优实战 - 32一个10万并发的BI系统,如何定位和解决频繁Young GC问题?

    文章目录 Pre 模拟代码的JVM参数设置 示例Code 如何在windows上执行命令? 通过jstat观察程序的运行状态 Pre jvm性能调优实战 - 26一个每秒10万并发的系统如何频繁发生Y ...

  4. JVM 性能调优实战之:使用阿里开源工具 TProfiler 在海量业务代码中精确定位性能代码...

    本文是<JVM 性能调优实战之:一次系统性能瓶颈的寻找过程> 的后续篇,该篇介绍了如何使用 JDK 自身提供的工具进行 JVM 调优将 TPS 由 2.5 提升到 20 (提升了 7 倍) ...

  5. jvm性能调优实战 - 61常用的JVM调优网站

    文章目录 线程Dump日志分析 堆Dump可视化分析 GC日志分析 Alibaba Arthas Aliabba jvmGenerate PerfMa PerfMa - XXFox (Java虚拟机参 ...

  6. jvm性能调优实战 - 35电商APP后台系统如何对Full GC进行深度优化

    文章目录 业务背景 JVM性能问题 如何优化每次Full GC的性能? 调优后的效果 思考 业务背景 这个JVM性能优化的案例,很多核心的思想其实也跟之前是相同的,只不过在优化的过程中会带出来一些比较 ...

  7. jvm性能调优实战 - 34十万QPS的社交APP 如何优化GC性能提升3倍?

    文章目录 Pre 案例背景 高并发查询导致对象快速进入老年代 老年代必然会触发频繁GC 优化前的线上系统JVM参数 频繁Full GC导致的大量内存碎片 如何进行优化? 思考题 Pre 这篇文章开始, ...

  8. jvm性能调优实战 -56没有WHERE条件的SQL语句引发的OOM MAT 排查步骤

    文章目录 Pre 关于MAT工具对OOM故障的实践意义 故障发生现场 排查步骤 1:检查内存中到底是什么对象太多了 2. 深入看看占用内存过多的对象 生产案例的追踪 到底是哪一行代码创建了这么多的对象 ...

  9. jvm性能调优实战 -58类加载器过多引发的OOM问题

    文章目录 背景 使用top命令检查机器资源使用 在内存使用这么高的情况下会发生什么? 底是谁占用了过多的内存? 小结 背景 公司里有一个非常正常的线上的服务,采用的是Web系统部署在Tomcat中的方 ...

最新文章

  1. 再测Golang的JSON库
  2. 7.git提交的前进与后退
  3. 超实用:IIS 7.5修改WEB.CONFIG即可实现*.HTML伪静态
  4. linux内核唤醒过程,Linux内核启动过程分析
  5. 交换机用光纤模块互连一端灯不亮或两端都不亮,如何处理?
  6. 【渝粤教育】国家开放大学2018年秋季 0680-22T会计基础知识 参考试题
  7. Kube Controller Manager 源码分析
  8. Erlang/OTP设计原则(文档翻译)
  9. MySQL数据库和Oracle数据库的区别
  10. Jquery调用ajax参数说明
  11. CVPR2018 Tutorial 之 Visual Recognition and Beyond
  12. 解密 Go interface 的类型转换原理
  13. 在实际应用中,用计算机作为控制器时,最大的优越性是( ),在实际应用中,用计算机作为控制器时,最大的优越性是( )。...
  14. VMware的安装与设置
  15. python copy.copy和copy.deepcopy
  16. Python连连看小游戏源代码
  17. 《游戏设计艺术》读书笔记02
  18. windows的exe文件反编译为msi安装文件
  19. 求单链表的最大值与原地逆转_计算机笔试面试题
  20. 矩阵理论第一章—线性空间与子空间,空间分解与维数定理

热门文章

  1. 根号x_干货 | 设x=my+n?这不耍流氓嘛
  2. 求水仙花数 以及 最大公约数最小公倍数 以及 冒泡法 以及字母大小写的转换 以及简单选择排序法 以及斐波那契数列
  3. C++虚继承和虚基类详解(一)
  4. NTU课程笔记 MAS714(2) Big-O notations
  5. 禁忌搜索算法求解带时间窗的车辆路径问题原理讲解
  6. Java进阶知识-数组类型
  7. 如何规划 ElasticSearch 集群规模和容量?
  8. Python入门100题 | 第044题
  9. LeetCode-位运算-36. 只出现一次的数字
  10. 推荐系统之业务架构总览