1、问题背景

系统开发了新功能上线,本来上完之后功能验收正常,就在大家都松了一口气安心听技术分享时,晚上6.56分突然收到了系统告警:

YoungGC时间过长,说实话一开始看到这个告警心里是毫无波澜的,一是因为一次YoungGC时间过长影响不大,二是因为这是内部系统,虽然处理的数据量比较大,但是YoungGC不会影响功能正常运行。

当时心里的第一想法是:应该是刚启动导致系统有些不平稳,过一会儿就好了。

然而过了几分后,第二台主机也开始告警,意识到问题严重性的我赶紧跑上来排查问题。

2、GC日志分析

首先找运维拿到GC日志之后,通过在线分析网站:https://gceasy.io/把日志文件载入分析:

很明显,基本上都是Allocation Failure引起的GC,表明本次引起GC的原因是因为在年轻代中没有足够的空间能够存储新的数据了

3、Dump文件分析

大概知道了原因,但还是得定位到具体问题,再找运维拿了dump文件之后,本地通过jvusalvm装入dump文件进行分析,发现堆里面有89万个File对象(尴尬的是,这个问题是后来大佬发现的,自己当时看的时候没注意到这里……)

这时候离真相已经很近了,只要知道是什么地方有大量创建对象这个操作就行了,这时候有两个方法:

  1. 看代码
  2. 通过jstack看看线程的堆栈信息

通过第二种方式很容易就定位到了具体问题

4、解决方案

既然知道是第三方SDK引起的问题,直接把用到这个SDK地方先给停了,然后把89W个文件rm -rf一把梭,之后系统就恢复平稳运行了。

5、小结

业务原因对接了第三方SDK,类似一个消息队列,由于SDK自身问题导致会把无法消费的消息通过文件的形式暂存在本地,然后通过一个定时任务每十分钟去重新消费这些消息,但是不知道为什么没有消费成功。

这些文件日积月累慢慢影响着GC的性能,最终到达性能监控的阈值,然后告警……

记一次频繁YoungGC生产问题排查思路及解决方案相关推荐

  1. Kafka CPU使用率高排查思路及解决方案

    一.CPU使用率高的一般排查思路 1) top命令排查CPU使用率高的进程 2) su - omm切换到omm用户,jstack -l 进程pid>>文件路径 3) top -H -p 进 ...

  2. java fgc_记一次频繁FGC的简单排查

    简书 占小狼 转载请注明原创出处,谢谢! 如果读完觉得有收获的话,欢迎点赞加关注 周末愉快,今天有时间记录一下上周遇到的一个问题,学习的脚步不能放慢,也不敢放慢. 存在问题 在线上环境进行服务压测,压 ...

  3. 打不开网站 服务器程序错误怎么办啊,“网站打不开”怎么办?快速排查思路及解决方案...

    一.域名解析不生效 原因分析: 域名解析并非添加后就会立即生效,解析不生效就会让域名找不到服务器,这样就会造成网站打不开.解析长时间无法生效或不对,需要联系域名提供商或者dns提供商协助排查.目前解析 ...

  4. linux 内存溢出排查_记一次JAVA 线上故障排查完整套路

    JAVA线上故障排查全套路 线上故障主要会包括cpu.磁盘.内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍.同时例如jstack.jmap等工具也 ...

  5. 记一次服务器负载飙高排查过程

    记一次服务器负载飙高排查过程 问题描述 在前天呢,我们公司的三台部署着php项目的线上服务器A.B.C,其中一台服务器A出现了CPU负载飙高,与其他两台服务器相差好几倍,并且在前天之前都没有出现过这么 ...

  6. 转:记一次linux oom内存溢出排查过程

    @转:记一次linux oom内存溢出排查过程 记一次linux oom内存溢出排查过程 2018年08月16日 14:13:49 enchanterblue 阅读数 4099更多 分类专栏: --- ...

  7. CPU飙高,频繁GC,怎么排查?

    作者:爱宝贝. https://my.oschina.net/zhangxufeng/blog/3017521 处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC ...

  8. 【系统缓慢、CPU 100%、频繁Full GC问题】的定位排查思路!

    作者:爱宝贝 https://my.oschina.net/zhangxufeng/blog/3017521 处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次 ...

  9. gc的原因 频繁full_系统缓慢+CPU 100%+频繁Full GC问题的定位排查思路!

    处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题. 当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警. 本文主要针对系统运行缓 ...

最新文章

  1. 多数据中心的百万级消息服务实战
  2. Coding Problem 模拟
  3. 走过 Google 2005年[zt]
  4. Java中用split函数进行分割字符串。
  5. python 俄罗斯方块_俄罗斯方块
  6. 网络工程师 第8章 网络安全
  7. 什么是DNS泄漏?我为什么要关心?
  8. 天牛须算法(BAS)python实现
  9. android 滑动取值_Android View篇之调整字体大小滑杆的实现
  10. 如何通俗理解Word2Vec
  11. 云原生之使用docker部署centos系统测试环境
  12. Spring Boot 面试的十个问题
  13. 亚马逊新手卖家如何快速出单必掌握的运营技巧分享?
  14. 优秀笔记软件盘点—好看、强大的可视化笔记软件、知识图谱工具
  15. MATLAB:预设矩阵的大小与不预设的时间差距
  16. linux下tshark安装及应用
  17. 实验吧CTF逆向题1000writeup
  18. 刷新率属于计算机的显示性能指标吗,显示器性能指标(菜鸟必看)
  19. 初中生关于计算机的科幻作文600字,关于科幻的作文初中集锦5篇
  20. 网络分析仪自动化测试软件,基于Agilent PNA系列网络分析仪实现脉冲器件自动测试系统的设计...

热门文章

  1. html书签导入苹果,如何把360浏览器的收藏书签导入safari浏览器里
  2. 苹果X可以升级5G吗_苹果分析师:2020 年的 iPhone 屏幕尺寸升级,还有 5G
  3. 怎么把字母缩小当符号_iPhone自带输入法怎么用 iPhone自带输入法小技巧【详解】...
  4. Java 报错Attempted read from closed stream
  5. 《七哥说道》第十六章:程序员,江湖见
  6. OpenCV特征检测出现Unhandled exception at……Access violation reading location 0x00000000.
  7. 首战告捷!网易有道斩获首届NLPCC中文语法错误修正比赛冠军
  8. 基于javaweb+mysql的高校学生会社团管理系统(前台、后台)
  9. c语言求成绩中的最高分辨率大约是,一级msoffice全真机试试卷.docx
  10. Latex 绘制函数图像