`
vase
  • 浏览: 423277 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java线程查看工具——jstack

阅读更多

    jdk1.6退出了一个查看线程CPU使用率的工具——jstack。其可以查看当前web应用中存在的线程,以帮助定位程序中那些线程对CPU的使用率过高。

    其格式为 stack -l PID ,其他可以通过stack -h查看帮助文档。

 

    今天发现项目工程启动后,在未作任何操作的情况下javaw的CPU使用率一直50%,直觉感觉项目工程有问题了。于是用jstack查看当前所有线程,并一一排查可能的java类,发现启动加载的类里有人写死循环了。以下是找到的类:

以上LogQueue就是开发的类。

 

定位时可能麻烦,那么多线程哪个是呢?

一开始我用jconsole观察,虽然也能看到这些线程,但其过滤功能太弱,无法找到公司的类。于是用jstack将结果写入文件,直接查找公司哪些类里的线程在运行。

通常框架里的类不会有问题,查找定位时可先放弃,如图中quartz框架的类,都可直接跳过。

 

另外,我在AIX下的jdk1.6中没找到jstack,不知道什么原因;后来在同事window系统jdk1.6中找到了。

------------------------------------------------------------------

好久没写东西了,今天写点今天的总结,凑篇数。

  • 大小: 42.8 KB
分享到:
评论

相关推荐

    Jstack分析工具——IBM Thread and Monitor Dump Analyzer for Java

    需要本地安装JDK并配置JAVA环境变量。 之后使用java -jar jca469.jar即可打开工具。 直接将dump出来的堆栈信息,打开,便可分析。

    Java线程检测和数据收集工具

    本文将深入探讨如何使用Java提供的工具——`jps`和`jstack`,以及如何通过Shell脚本来定时收集Java进程的线程信息。 首先,`jps`(JVM Process Status)是Java虚拟机进程状况工具,它能够列出正在运行的Java进程ID...

    JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jstat.doc

    `jstack` 是一个强大的工具,用于获取Java应用的线程堆栈信息。当Java程序出现异常或挂起时,`jstack` 可以帮助分析程序状态,找出导致问题的代码位置。它不仅能读取当前运行进程的堆栈信息,还能解析由程序崩溃时...

    java 多线程编程 月食效果

    10. **测试与调试**:多线程程序的调试相对复杂,可能需要使用`Thread.sleep()`来插入延迟以便观察线程行为,或者利用Java的线程工具如`jstack`来分析线程状态。 总结,"java 多线程编程 月食效果"是一个结合了Java...

    实战Java虚拟机——JVM故障诊断与性能优化.pdf

    《实战Java虚拟机——JVM故障诊断与性能优化》是一本深入探讨Java开发中的关键环节——Java虚拟机(JVM)的专著。本书聚焦于实际应用中的问题解决和性能调优,对于Java开发者和系统管理员来说,是提升技术水平的重要...

    jstack生成的Thread Dump日志.docx

    JVM提供了一个强大的工具——`jstack`,用于生成线程堆栈转储,即Thread Dump,帮助开发者洞察线程的运行状态,识别性能瓶颈或死锁等问题。本文将详细探讨Thread Dump中的线程状态,以及如何分析和解决相关问题。 1...

    太细了,堪称完美总结:“Java性能调优六大工具”之Windows工具(csdn)————程序.pdf

    结合jstack等工具,可以进一步分析线程堆栈,定位到导致高CPU使用率的具体代码。 总的来说,**任务管理器**适合日常简单的性能监控,而**perfmon**则更适合复杂和深度的性能分析。当任务管理器提供的信息不足以满足...

    JAVA JVM性能调优监控工具详解

    TIME列显示各个Java线程耗费的CPU时间,CPU时间最长的是线程ID为21742的线程。 ``` 3. **使用jstack输出堆栈信息**:接下来使用`jstack <进程ID>`来获取该进程的所有线程堆栈信息,然后通过`grep`命令过滤出特定...

    2021Java字节跳动面试题——面向字节_JVM(上).pdf

    - **jstack**:用于查看线程堆栈信息。 - **jconsole**:一个图形化的监控工具,可以监控JVM的运行状态。 - **jhat**:用于对堆内存进行分析,现已过时,被JVisualVM替代。 - **MAT (Memory Analyzer Tool)**:...

    TDA-Thread Dump Analyzer - tda-bin-2.3.3.zip

    TDA(Thread Dump Analyzer)是一个专门用于解析和分析Java线程Dump的日志文件的工具,它可以帮助开发者快速定位线程阻塞、死锁等问题,从而优化应用程序的性能。 **一、什么是线程Dump** 线程Dump是Java虚拟机在...

    性能分析工具.zip_dump_tda-2._tda-bin_thread analyzer_transportationkdf

    Thread Dump Analyzer(简称TDA)正是这样一款用于分析Java线程转储(Thread Dump)的专业工具,它能够帮助我们深入了解应用的运行状态,识别出潜在的性能问题。 TDA 2.2版本是其重要的迭代,提供了更强大的功能和...

    java在线问题排查利器之Btrace&Greys1

    2. Greys 是阿里巴巴开源的一款Java线上诊断工具,它的功能与Btrace类似,但提供了更多实用的功能,如查看线程状态、内存分析、SQL监控等。Greys同样基于动态字节码修改,可以在线上环境中快速定位问题,而无需停机...

    Java并发编程实战(中文版).7z

    2. **同步机制**:讲述了Java中同步的基石——synchronized关键字,以及其背后的锁机制。此外,还包括wait()、notify()和notifyAll()方法的使用,以及死锁、活锁和饥饿现象的避免。 3. **并发工具类**:介绍了许多...

    操作系统死锁检测与解除

    为了检测死锁,Java提供了一个内置的诊断工具——`jstack`,它可以帮助开发者查看线程堆栈信息,找出可能存在的死锁状态。通过分析`jstack`输出,我们可以找到那些处于"等待持有锁"状态的线程,如果发现有循环等待的...

    jdktools .zip

    5. **性能分析工具(jmap, jhat, jstack, jconsole等)**:这些工具帮助开发者监控和诊断Java应用程序的内存、线程和性能问题。 6. **类依赖分析工具(jdeps)**:分析类之间的依赖关系,对于模块化项目管理和重构很有...

    宕机、高cpu、慢sql等问题辅助工具v0.1.pdf

    本文档介绍了一套专门针对这些常见问题的辅助工具——宕机、高CPU、慢SQL等问题辅助工具v0.1,该工具集主要面向Java应用,并提供了一系列实用的方法和技术来帮助定位和解决问题。 #### 二、关键知识点详解 ##### 1...

    jdk-8u201-windows-x64.rar

    10. `jstack`:用于打印Java线程堆栈跟踪信息,帮助定位线程死锁等问题。 JDK 8u201是一个维护更新,它通常会修复之前版本中发现的安全漏洞,优化性能,并可能包含一些小的增强功能。对于开发者来说,保持JDK版本的...

    JDK1.8 API 中文 高清完整CHM版

    本资源是针对Java开发者的宝贵工具——"JDK1.8 API 中文 高清完整CHM版",这是一个详细的API文档,由百度翻译团队精心翻译,旨在为中文使用者提供清晰、准确的Java SE 8 (JDK 1.8)编程接口参考。API(Application ...

    jdk-11.0.2.zip

    它包括了Java编译器(javac)、Java虚拟机(JVM)、Java运行时环境(JRE)、Java应用启动器(java.exe)、以及一系列用于开发和诊断的工具,如javadoc(用于生成API文档)、jps(Java进程查看器)、jstack(用于查看...

    Java虚拟机-jvm故障诊断与性能优化-源码

    - **线程dump**:jstack命令获取线程状态,排查死锁、阻塞等问题。 - **日志分析**:JVM会生成各种日志,如gc.log,用于分析垃圾收集行为。 6. **性能瓶颈识别** - **CPU耗时分析**:找出消耗CPU最多的代码段。 ...

Global site tag (gtag.js) - Google Analytics