最近开始服务拆分,时间将近半个月.测试阶段也非常顺利,没有什么问题. 但上线之后的第二天,产品就风风火火的来找我们了,一看就是线上有什么问题.我们也不敢说,我们也不敢问,线上的后台商品忽然无法上架了,导致运营的同学删除商品后无法上架新的商品,导致APP的部分商品暂时不可见. 线上有问题,那么大家就开始迅速排查起来了.这里有一点要说一下,在上线前夕,产品临时添加一个新的需求,商品的搜索状态不可判断这个条件去掉,这个由于紧急而且对于我们来说也就是SQL中的一个条件的问题,也就没有经过测试,直接上线了…
线上故障主要会包括cpu.磁盘.内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍. 同时例如jstack.jmap等工具也是不囿于一个方面的问题的,基本上出问题就是df.free.top 三连,然后依次jstack.jmap伺候,具体问题具体分析即可. CPU 一般来讲我们首先会排查cpu方面的问题.cpu异常往往还是比较好定位的.原因包括业务逻辑问题(死循环).频繁gc以及上下文切换过多.而最常见的往往是业务逻辑(或者框架逻辑)导致的,可以使…
参考:https://fredal.xin/java-error-check?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io 线上故障主要会包括cpu.磁盘.内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍.同时例如jstack.jmap等工具也是不囿于一个方面的问题的,基本上出问题就是df.free.top 三连,然后依次jstack.jmap伺候,具体问题具体分析…
一次Java线程池误用(newFixedThreadPool)引发的线上血案和总结 这是一个十分严重的线上问题 自从最近的某年某月某天起,线上服务开始变得不那么稳定(软病).在高峰期,时常有几台机器的内存持续飙升,并且无法回收,导致服务不可用. 给出监控中GC的采样曲线: 内存使用曲线如下: 如上两张图显示:18:50-19:00的这10分钟阶段里,服务已经处于不可用的状态了.这就导致了:上游服务的超时异常会增加,该台机器会触发熔断. 熔断触发后,这台机器的流量会打到其他机器,其他机器发生类似的…
JVM 线上故障排查 Linux 1.1 CPU 1.2 内存 1.3 存储 1.4 网络 一.CPU 飚高 寻找原因 二.内存问题排查 三.一般排查问题的方法 四.应用场景举例 4.1 怎么查看某个Java进程里面占用CPU最高的一个线程具体信息? 4.2 统计每种网络状态的数量 4.3 怎么查看哪个进程在用swap 原文地址: 微信公众号: 莫那鲁道 芋道源码:JVM 线上故障排查基本操作 掘金:小姐姐味道:作为高级Java,你应该了解的Linux知识 Linux,关注的是四个元素:内存,c…
JVM 线上故障排查基本操作 CPU 飚高 线上 CPU 飚高问题大家应该都遇到过,那么如何定位问题呢? 思路:首先找到 CPU 飚高的那个 Java 进程,因为你的服务器会有多个 JVM 进程.然后找到那个进程中的 “问题线程”,最后根据线程堆栈信息找到问题代码.最后对代码进行排查. 如何操作呢? 通过 top 命令找到 CPU 消耗最高的进程,并记住进程 ID. 再次通过 top -Hp [进程 ID] 找到 CPU 消耗最高的线程 ID,并记住线程 ID. 通过 JDK 提供的 jstac…
线上故障主要包括cpu 磁盘 内存 网络等问题 依次排查 1.cpu 1) 先用ps找到进程pid 2) top -H -p pid 找到cpu占用高的线程 3)printf '%x\n' pid 获得16进制的nid 4) jstack pid |grep 'nid' -C5 -color 显示堆栈信息 关注WAITING TIMED_WAITING BLOCKED的信息 2.磁盘 df -hl查看磁盘状态 3.内存 free 检查内存情况 如果内存过多 通过第一步骤找到的异常来分析: Exc…
问题出现:现网CPU飙高,Full GC告警 CGI 服务发布到现网后,现网机器出现了Full GC告警,同时CPU飙高99%.在优先恢复现网服务正常后,开始着手定位Full GC的问题.在现场只能够抓到四个GC线程占用了很高的CPU,无法抓到引发Full GC的线程.查看了服务故障期间的错误日志,发现更多的是由于Full GC引起的问题服务异常日志,无法确定Full GC的根源.为了查找问题的根源,只能从发布本身入手去查问题,发现一次bugfix的提交,有可能触发一个死循环逻辑: for(in…
一.发现问题 下面是线上机器的cpu使用率,可以看到从4月8日开始,随着时间cpu使用率在逐步增高,最终使用率达到100%导致线上服务不可用,后面重启了机器后恢复. 二.排查思路 简单分析下可能出问题的地方,分为5个方向: 1.系统本身代码问题 2.内部下游系统的问题导致的雪崩效应 3.上游系统调用量突增 4.http请求第三方的问题 5.机器本身的问题 三.开始排查 1.查看日志,没有发现集中的错误日志,初步排除代码逻辑处理错误. 2.首先联系了内部下游系统观察了他们的监控,发现一起正常.可以…
一.发现问题 下面是线上机器的cpu使用率,可以看到从4月8日开始,随着时间cpu使用率在逐步增高,最终使用率达到100%导致线上服务不可用,后面重启了机器后恢复. 二.排查思路 简单分析下可能出问题的地方,分为5个方向: 1.系统本身代码问题 2.内部下游系统的问题导致的雪崩效应 3.上游系统调用量突增 4.http请求第三方的问题 5.机器本身的问题 三.开始排查 1.查看日志,没有发现集中的错误日志,初步排除代码逻辑处理错误. 2.首先联系了内部下游系统观察了他们的监控,发现一起正常.可以…