`

常用JVM 监控工具

阅读更多



1. jConsole
JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM,不过此JVM需要使用可管理的模式启动。

2. jMap
jmap是java虚拟机自带的一种内存映像工具。用于生成堆转储快照,有时候也称为heapdump或者dump文件。
jmap有很多功能在Windows平台下是受限的,除了生成dump文件的-dump选项和用于查看每个类的实例、空间占用统计的-histo选项能在Windows系统使用,其他选项只能在Linux、Solaris下使用。

-heap:打印jvm heap的情况
-histo:打印jvm heap的直方图。其输出信息包括类名,对象数量,对象占用大小。
-histo:live :同上,但是只打印存活对象的情况
-permstat:打印permanent generation heap情况[1]

3. jStack
jstack是java虚拟机自带的一种堆栈跟踪工具。jstack用于生成java虚拟机当前时刻的线程快照。
线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。
线程出现停顿的时候通过jstack来查看各个线程的调用堆栈,就可以知道没有响应的线程到底在后台做什么事情,或者等待什么资源。

-F 当’jstack [-l] pid’没有响应的时候强制打印栈信息
-l 长列表. 打印关于锁的附加信息,例如属于java.util.concurrent的ownable synchronizers列表.
-m 打印java和native c/c++框架的所有栈信息. -h | -help打印帮助信息
pid 需要被打印配置信息的java进程id,可以用jps工具查询. [1]


4. jStat
JVM监测工具(Java Virtual Machine Statistics Monitoring Tool)。利用了JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括各种堆和非堆的大小及其内存使用量、classloader、compiler、垃圾回收状况等。

举例:

jstat –printcompilation -h10 3024 250 600
     每250毫秒打印一次,一共打印600次 每隔10行显示一次head
语法结构:
Usage: jstat -help|-options
       jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

5. BTrace
Btrace是由sundararajan在2009年6月开发的一个开源项目,是一种动态跟踪分析一个运行中的Java应用程序的工具。
BTrace是一个为Java平台开发的安全、动态的追踪工具。BTrace动态地向目标应用程序的字节码注入追踪代码(字节码追踪),这些字节码追踪代码使用Java语言表达,也就是BTrace的脚本。



分享到:
评论

相关推荐

    JVM监控工具介绍.docx

    以下是几种常用的JVM监控工具的详细介绍: 1. **jstack**: `jstack` 是一个用于打印Java线程堆栈跟踪的工具,它可以帮助我们了解应用程序中线程的状态,比如是否发生死锁或者线程阻塞。通过指定进程ID,我们可以...

    JVM监控管理及故障诊断工具(常用命令)

    本文将介绍三种常用的 JVM 监控管理及故障诊断工具:jps、jstat 和 jstatd。 1. jps - Java Virtual Machine Process Status Tool jps 命令用于列出目标系统上正在运行的虚拟机进程(每个 Java 程序会独占一个 ...

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

    因此,掌握一些常用的JVM性能调优和监控工具对于Java开发者来说至关重要。本文将详细介绍几种常见的JVM性能调优工具,并通过实际案例帮助读者更好地理解和应用这些工具。 #### 一、jps (Java Virtual Machine ...

    JVM之常用监控工具 - 副本.md

    JVM之常用监控工具 - 副本

    【转】Java内存泄露_JVM监控工具介绍jstack_jconsole_jinfo_jmap_jdb_jstat

    本篇将重点介绍几种常用的JVM监控工具,包括jstack、jconsole、jinfo、jmap以及jdb和jstat。 首先,`jstack`是一个用于打印Java线程堆栈跟踪的工具。当应用出现死锁或者线程阻塞时,jstack可以帮助我们查看各个线程...

    jvm常用命令工具

    ### jvm常用命令工具 #### 一、概述 在程序运行过程中,经常会出现各种各样的问题,例如性能瓶颈、内存泄漏、死锁等。为了快速定位并解决问题,我们需要收集多种类型的运行时信息,包括但不限于系统日志、堆转储...

    JVM调优工具分享

    总的来说,JConsole和VisualVM都是强大的JVM监控工具,它们提供了丰富的功能来协助开发者进行性能优化。JConsole简洁易用,适合日常的基本监控;而VisualVM则更为全面,尤其在插件的支持下,可以进行深入的性能分析...

    JVM性能调优监控工具1

    本文将详细介绍几个常用的JVM性能监控工具及其功能,包括Jinfo、Jstat、Jmap和Jstack。 1. **Jinfo**: Jinfo是一款用于查看和修改Java进程配置参数的命令行工具。它可以帮助开发者了解正在运行的Java应用程序的...

    JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解.docx

    本文将对一些常用的 JVM 性能调优监控工具进行介绍,包括 jps、jstack、jmap、jhat、jstat 等工具的使用详解。这些工具对于 Java 程序员来说是必备的,能够帮助我们解决各种 JVM 性能问题,如 OutOfMemoryError、...

    深入JVM内核—原理、诊断与优化视频教程-3.常用JVM配置参数

    通过JVM提供的各种工具,如JConsole、VisualVM、JProfiler等,可以监控和分析应用的内存使用、线程状态、CPU消耗等指标,从而发现潜在的性能瓶颈。此外,JDK自带的JMX(Java Management Extensions)和JVM命令行工具...

    jvm工具、参数调优&调试技巧

    - **功能**:`jconsole` 是一个图形化的监控工具,可以监控本地或远程JVM的性能。 - **特点**: - 内存使用情况。 - GC详情。 - 类装载。 - 线程活动。 ##### 9. MemoryAnalyzerTool(MAT)Eclipse插件 - **...

    jmx监控activeMQ监控

    同时,jmx监控也可以与其他监控工具集成,提供更加全面的监控功能。 jmx监控ActiveMQ监控是一种非常有用的监控方式,可以帮助开发者和运维人员实时监控ActiveMQ的运行状态,提高系统的可靠性和稳定性。

    性能测试指标及常用监控工具

    性能测试是评估软件系统在高负载或大数据量条件下的运行状况的重要手段,它涉及的关键指标和监控工具对于确保系统的稳定性、可靠性和效率至关重要。本文将深入探讨这些指标和工具。 性能测试的核心指标主要包括: ...

    常用的 JVM 性能调优监控工具,太强大了!.zip

    计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料计算机技术、IT咨询、人工智能AI理论介绍,学习...

    tomcat 监控工具

    以下是一些常用的Tomcat监控工具和方法: 1. **内置监控接口**: Tomcat自身提供了JMX(Java Management Extensions)接口,可以通过MBean(Managed Beans)来监控和管理服务器。管理员可以使用JConsole、VisualVM...

    深入JVM内核 - 原理、诊断与优化

    常用JVM参数 堆的分配参数 栈分配及实例讲解 server与client模式 调试跟踪参数 介绍常用的JVM参数,包括内存分配、堆栈分配、虚拟机运行模式以及调试跟踪参数。 第四课 GC的算法和种类 引用计数 标记清除 复制算法...

    JVM命令行监测工具详解

    为了监控和调试JVM的运行状态,Oracle提供了多个命令行工具,包括jps、jstack、jstat、jmap和jcmd。这些工具可以帮助开发者了解和解决性能问题,优化应用程序。 一、jps (Java Process Status) jps是查看当前系统中...

Global site tag (gtag.js) - Google Analytics