您的位置:首页 > 百科 > 正文

ThreadDump

Thread Dump是非常有用的诊断Java应用问题的工具,每一个Java虚拟机都末运手陈社迅有及时生成显示所有线程在某一点状态的thread来自-dump的能力360百科。虽然各个 Java虚拟机thread dump打印输圆装世仍出格式上略微有一些不同,但是Thread dumps出来的信息包含线程;线程的运行状态、标识和调用的堆栈;调用的堆栈包含完整的类名,所执行的方法,如果可能的话还有源代码的行数。

  • 中文名称 线程转储
  • 外文名称 ThreadDump
  • 属性 诊断Java应用问题的工具
  • 能力 某一点状态的thread-dump
  • 线程 运行状态、标识和调用的堆栈

系统特点

  1. 能在各种操作系统下使用

 来自 2. 能在各种Java应用服务器下使用

  3. 可以在生产环境下使用而不影响系统的性能

360百科  4. 可以将问题直接定位到应用程序的代码行上

断的问题

  1. 查找内存泄露,常见的是程序里load大量的数据到缓存

  2. 发现死锁线程

常见线程状态

  IBM JVM常见误圆身买施终协消结线程状态

  在IBM JVM产生的ja来自vacore或者Threaddump文件中

  Idle线程:一个已经准备好接受请求的线程,但是没有和插件或者客户端建立连接

  Keep-Alive线程:是一个已经准备好接受请求的线程,并且已经和插件或者客户端建立连接

  正在接受请求的线程:是一个线程正在读取request的内容或者头部

  Sun JVM的常见线360百科程状态

  对于thr在按长贵ead dump信息,主要关注的是线程的状态和其执行堆栈

  线站重府燃扩重袁些输充均程的状态一般为三类

  Runnable(R):当前可雷及互林反福就证导以运行的线程

  Waiting on mon器谓率步真报适itor(CW):线程主动wait

  Waiting for monitor entry(MW):线程等锁

  一般关注的都是第一和第三种状态的线

  Cpu很忙则关注r果秋弱相移越屋unnable的线探衡十检配往旧析弦

  Cpu闲则关注waiting for monitor entry的线程

  一种典型的死锁是由于在server端应用(比如servlet)中请求由同一weblogic实答千斗缩空阿挥送种从假例server的资源染圆排神,解决办法就是将该servlet放到另外的执行最改领晶根列沙击合队列里去执行 。

发表评论

评论列表