问题描述 应用收到频繁Full GC告警 问题排查 登录到对应机器上去,查看GC日志,发现YGC一分钟已经达到了15次,比Full GC还要频繁一些,其中Full GC平均10分钟超过了4次,如下图 使用jstat -gcutil 5280 1000查看实时GC情况 ...
问题源起 上游系统通过公司rpc框架调用我们系统接口超时 默认超时时间为 ms 数量从 次 分突然上涨到 次 分,在发生变化时间段里我们的系统也没有做过代码变更,但上游系统的调用确发生了变化。由于处于主要链路上,sre同学找过来询问原因,所以开始了问题排查。 问题初步定位 排查rpc超时的基本思路是这样的: 服务端处理确实超时 服务端或者客户端由于某种原因卡住 a 磁盘清理 b tr线程池 c ...
2017-04-14 22:42 3 19229 推荐指数:
问题描述 应用收到频繁Full GC告警 问题排查 登录到对应机器上去,查看GC日志,发现YGC一分钟已经达到了15次,比Full GC还要频繁一些,其中Full GC平均10分钟超过了4次,如下图 使用jstat -gcutil 5280 1000查看实时GC情况 ...
这几天在写一个存储过程,反复优化了几次,从最开始的7分钟左右,优化到最后的几秒,并且这个过程中我的导师帮我指点了很多问题,这些指点都是非常宝贵的,独乐乐不如众乐乐,一起来分享这次的优化过程吧。 这个存过程的需求是这样的,抓取某个时间段内的订单明细,然后计算并汇总到某表即可。 于是乎,我写出 ...
我们经常会遇到带有exists这种形式的语句,官方描述如下,一般对应于子查询语句返回的布尔值: 在例子中可以看到: 原始sq ...
糟糕!运行着的线上系统突然卡死无法访问,万恶的JVM GC! 基于JVM运行的系统最怕什么? 在JVM运行的时候,最核心的内存区域,其实就是堆内存,在这里会放各种我们系统中创建出来的对象。 而且堆内存里通常都会划分为新生代和老年代两个内存区域,对象一般来说都是优先放在新生代的。在年轻代 ...
Java内存分配机制 摘自:http://www.cnblogs.com/zhguang/p/3257367.html 这里所说的内存分配,主要指的是在堆上的分配,一般的,对象的内存分配都是在堆上 ...
这个是之前处理过的一个线上问题,处理过程断断续续,经历了两周多的时间,中间各种尝试,总结如下。这篇文章分三部分: 1、问题的场景和处理过程;2、GC的一些理论东西;3、看懂GC的日志 先说一下问题吧 问题场景:线上机器在半夜会推送一个700M左右的数据,这个时候有个数据置换的过程,也就是说 ...
最近线上某站点young gc有点频繁,经过排查确定了问题,这里记录一下 遇到GC,三步走 1. 确认是哪些对象引起的GC 2. 找到这些对象是哪里构造的 3. 根据情况进行优化。 确认是哪些对象引起的GC 一般情况下,我们可以通过jmap ...
一.环境说明: 操作系统:CentOS 6.5 x86_64 数据库:Mysql 5.6.22 服务器:阿里云VPS,32G Mem,0 swap 二.问题情况: 1.某日发现公司线上 ...