美文网首页
Java死循环排查及线程状态

Java死循环排查及线程状态

作者: 知而乐者 | 来源:发表于2021-04-05 21:21 被阅读0次

背景

在生产环境偶尔会有cpu突然飙高的时候,需要定位问题,判断逻辑是否有问题

方法

  • 找出占用cpu最大的进程
    使用top命令找出使用cpu最多的进程
  • 找出暂用最多的线程
    使用 top -Hp <pid>来找到占用最多的线程
  • 打印线程信息
    使用jstack -l <pid>来打出线程快照,通过上面找到的线程信息来定位问题代码
    可以使用线程名称查找,也可以通过线程ID查找(需要转成16进制),比如12907对应326b

线程状态总览(可以查看Thread#State类中来确定线程有哪几种状态)


image.png

相关文章

  • Java死循环排查及线程状态

    背景 在生产环境偶尔会有cpu突然飙高的时候,需要定位问题,判断逻辑是否有问题 方法 找出占用cpu最大的进程使用...

  • JAVA多线程及线程状态转换

    Java多线程及线程状态转换 - 祖华 - 博客园

  • java多线程

    java多线程 线程类源码解读(2)-线程状态及常用方法 线程类源码解读(3)-线程中断 逐行分析AQS源码(1)...

  • jstack thread dump

    在排查java应用的时候,常常会dump线程栈来观察各个线程的状态方便定位问题,这里简单描述一下如何阅读通过jst...

  • 大厂Android面试题汇总(四)线程、多线程和线程池

    JAVA 线程状态及转化 开启线程的三种方式?java创建线程的三种方式及其对比 线程和进程的区别?1,进程是cp...

  • java多线程基础

    多线程是java基础中不可或缺的一块内容,本文主要介绍java线程使用方法,线程同步,线程状态及基本方法;在这里我...

  • Java 线程的七种状态

    本篇感性地介绍一下 Java 线程的七种状态以及状态之间的转换 Java 线程状态转换图 Java 线程状态 在 ...

  • Java线程状态及转化

    线程状态 Java中的线程的生命周期大体可分为5种状态: 新建状态(New) : 线程对象被创建后,就进入了新建状...

  • java线程状态及转换

    java线程状态:new(新建),runnable(就绪),running(运行),blocked(阻塞),dea...

  • 线程状态

    java线程与操作系统线程状态略有不同。 1. 操作系统底层线程状态: 课本经典五状态: 2. JAVA线程状态:...

网友评论

      本文标题:Java死循环排查及线程状态

      本文链接:https://www.haomeiwen.com/subject/nicjkltx.html