性能分析 | 线上CPU100%排查】的更多相关文章

不知道在大家面试中,有没有遇到这个问题: 生产服务器上部署了几个java程序,突然出现了CPU100%的异常告警,你如何定位出问题呢? 这个问题分为两版回答! 高调版 对不起,我是做研发的,这个问题在生产上是不可能遇见的!因为研发是不可能直接操作生产服务器,如果贵公司能出现这个问题,应该要反思一下自己的权限控制是否合理! 面试官心里活动:装13是不是,赶紧走! 低调版 这个问题我在生产上没碰到过,因为我们是没法直接操作生产环境的.只能说,在测试环境曾经遇见过.操作步骤如下,balabala- 面…
生产服务器上部署了几个java程序,突然出现了CPU100%的异常告警,你如何定位出问题? 这个问题分为两版回答!高调版对不起,我是做研发的,这个问题在生产上是不可能遇见的!因为研发是不可能直接操作生产服务器,如果贵公司能出现这个问题,应该要反思一下自己的权限控制是否合理! 面试官心里活动:装13是不是,赶紧走! 低调版这个问题我在生产上没碰到过,因为我们是没法直接操作生产环境的.只能说,在测试环境曾经遇见过.操作步骤如下,balabala… 面试官心里活动:权限控制的不错,应该是在大厂呆过.…
引言 不知道在大家面试中,有没有遇到这个问题 生产服务器上部署了几个java程序,突然出现了CPU100%的异常告警,你如何定位出问题呢? 这个问题分为两版回答! 高调版 对不起,我是做研发的,这个问题在生产上是不可能遇见的!因为研发是不可能直接操作生产服务器,如果贵公司研发能遇到这个问题,应该要反思一下自己的权限控制是否合理! 面试官心里活动:装13是不是,赶紧走! 低调版 这个问题我在生产上没碰到过,因为我们是没法直接操作生产环境的.只能说,在测试环境曾经遇见过.操作步骤如下,balabal…
知识点总结 ------------------------------------------------------------------------------------------------------------------- 步骤一:找到最耗cpu的进程 工具:top 方法: 执行top -c,显示进程运行信息列表 键入P(大写),进程按cpu使用率排序 步骤二: 找到最耗CPU的线程 工具:top 方法: top -Hp 20136,显示一个进程的线程信息列表 键入P,线程按…
不知道在大家面试中,有没有遇到这个问题: 生产服务器上部署了几个java程序,突然出现了CPU100%的异常告警,你如何定位出问题呢? 这个问题分为两版回答!高调版对不起,我是做研发的,这个问题在生产上是不可能遇见的!因为研发是不可能直接操作生产服务器,如果贵公司能出现这个问题,应该要反思一下自己的权限控制是否合理! 面试官心里活动:装13是不是,赶紧走! 低调版这个问题我在生产上没碰到过,因为我们是没法直接操作生产环境的.只能说,在测试环境曾经遇见过.操作步骤如下,balabala… 面试官心…
问题:生产服务器上部署了几个java程序,突然出现了CPU100%的异常告警,你如何定位出问题呢? 下面给出两种系统下的排查步骤,都是一模一样的,只是命令稍有区别! 查消耗cpu最高的进程PID 根据PID查出消耗cpu最高的线程号 根据线程号查出对应的java线程,进行处理. 准备一行死循环代码: public class run (){ public static void main (String args[]){ int count = 0; while (count < 1) { co…
案例: public class App { public static void main( String[] args ) { int a = 0; while (a < 100) { a *= 10; } } } 把上述代码放到项目中,打成jar包,然后丢到服务器上,使用java -jar xxx.jar命令运行jar包: 使用 top -c  查看cpu情况: 使用 top -Hp 126018 查看一个进程的线程运行信息列表,可按下P,进程按照cpu使用率排序 上图pid是十进制的数据…
概述 背景 是不是在实际开发工作当中经常碰到自己写的代码在开发.测试环境行云流水稳得一笔,可一到线上就经常不是缺这个就是少那个反正就是一顿报错抽风似的,线上调试代码又很麻烦,让人头疼得抓狂:而且debug不一定是最高效的方法,遇到线上问题不能debug了怎么办.原先我们Java中我们常用分析问题一般是使用JDK自带或第三方的分析工具如jstat.jmap.jstack. jconsole.visualvm.Java Mission Control.MAT等.但此刻的你没有看错,还有一款神器Art…
前言 之前线上有过一两次OOM的问题,但是每次定位问题都有点手足无措的感觉,刚好利用星期天,以测试环境为模版来学习一下Linux常用的几个排查问题的命令. 也可以帮助自己在以后的工作中快速的排查线上问题. jmap命令 jmap -heap pid 输出当前进程 JVM 堆新生代.老年代.持久代等请情况,GC 使用的算法等信息 jmap -histo:live {pid} | head -n 10 输出当前进程内存中所有对象包含的大小 jmap -dump:format=b,file=/usr/…
BTrace简介 GitHub地址:BTrace 下载地址:v1.3.11.3 官方使用教程:Btrace使用教程 使用场景 BTrace 是一个事后工具,所谓事后工具就是在服务已经上线了,但是发现存在以下问题的时候,可以用 BTrace. 比如哪些方法执行太慢,例如监控执行时间超过1s的方法 查看哪些方法调用了 System.gc() ,调用栈是怎样的 查看方法参数或对象属性 哪些方法发生了异常 多说一点,为了更好解决问题,最好还要配合事前准备和进行中监控,事前准备就是埋点嘛,在一些可能出现问…