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

JVM内存分析系列(九)JDK监控和故障处理工具

 
阅读更多
jps JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程
jps -l 输出主类全名,如果是JAR包,则输出JAR路径
jps -v 输出虚拟机进程启动时JVM参数

jstat JVM Statistics Monitoring Tool,用于收集HotSpot虚拟机各方面的运行数据
jstat -gcutil 进程号 [刷新毫秒数]
  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT  
  0.00   0.00   3.23   8.14  49.97      6    1.089     3    2.630    3.719
S0和S1:新生代2个survivor区 使用百分比
E:是新生代的伊甸区 使用百分比
O:老年代 使用百分比
P:永久代 使用百分比
YGC:minor GC,发生在新生代的GC次数
YGCT:新生代GC总耗时
FGC:major GC,发生在老年代的GC次数
FGCT:老年代GC总耗时
GCT:总GC耗时

jinfo Configuration Info for Java,显示虚拟机配置信息
jinfo 进程号

jmap Memory Map for Java,生成虚拟机的内存转储快照(heapdump文件)
jmap -dump:format=b,file=/tmp/mydump.bin 进程号
输出
Dumping heap to /tmp/mydump.bin ...
Heap dump file created

jhat JVM Heap Dump Browser,用于分析headdump文件,他会建立一个HTTP/HTML服务器,让用户可以在浏览器上查看分析结果
jhat mydump.bin
输出的信息如下
Reading from mydump.bin...
Dump file created Fri Jan 10 15:51:28 CST 2014
Snapshot read, resolving...
Resolving 2810470 objects...
Chasing references, expect 562 dots..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Eliminating duplicate references..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Snapshot resolved.
Started HTTP server on port 7000
Server is ready.
重点要分析
Show heap histogram





jstack Stack Trace for Java,显示虚拟机的线程快照
jstack -l 进程号 除堆栈外,显示关于锁的附加信息
输出信息
2014-01-10 16:00:23
Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.45-b01 mixed mode):

"Worker-16" prio=10 tid=0x00007f643815e800 nid=0x1cdb in Object.wait() [0x00007f63f2765000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0000000785fb3280> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188)
        - locked <0x0000000785fb3280> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

   Locked ownable synchronizers:
        - None

"Worker-15" prio=10 tid=0x00007f643883f800 nid=0x1c70 in Object.wait() [0x00007f63f2967000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0000000785fb3280> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188)
        - locked <0x0000000785fb3280> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

   Locked ownable synchronizers:
        - None

"Attach Listener" daemon prio=10 tid=0x00007f6414003000 nid=0x1c36 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE
  • 大小: 232.1 KB
0
0
分享到:
评论

相关推荐

    JDK监控和故障处理工具

    本篇文章将详细介绍Java开发工具包(JDK)中的一些重要监控和故障处理工具,这些工具可以帮助开发者识别和解决生产环境中的内存溢出问题,进而提升应用程序的性能和稳定性。 首先,我们来了解JDK提供的几个监控和...

    jdk,jvm源码

    8. 调优工具:如JVisualVM、JConsole等,帮助开发者监控和调整JVM的性能。 了解JVM源码可以帮助我们深入理解Java程序的运行过程,优化内存使用,提升程序性能,排查故障。例如,通过阅读垃圾回收器的源码,我们可以...

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

    JVM 监控管理及故障诊断工具 ...jps、jstat 和 jstatd 三种命令都是 JVM 监控管理及故障诊断的重要工具,它们可以帮助开发者快速地了解 JVM 的性能和资源消耗情况,从而进行合理的资源分配和性能优化。

    jvm分析资料及工具1

    6. **JVM日志与故障排查**:通过-JDK自带的jmap、jhat、jstack和jinfo等命令,可以生成堆转储、分析内存、查看线程堆栈信息和配置信息,辅助故障诊断。 7. **类加载机制**:JVM的双亲委派模型确保了类加载的一致性...

    jvisualvm来JVM监控

    jvisualvm是一款强大的、免费的Java应用程序性能分析工具,它允许开发者深入洞察JVM的行为,进行内存分析、线程监控、CPU性能剖析等。本文将详细探讨如何利用jvisualvm来进行有效的JVM监控。 一、jvisualvm简介 ...

    实战JAVA虚拟机 JVM故障诊断与性能优化

    JDK提供了一系列强大的诊断工具,如jconsole、jvisualvm、jmap、jhat等,它们可以帮助我们查看JVM状态、分析内存泄漏、生成堆转储文件等。熟练运用这些工具,可以迅速定位和解决问题。 六、性能监控与调优 性能监控...

    jvm工具、参数调优&调试技巧(补充+修正版)

    1. JVisualVM:集成在JDK中的多合一工具,可以提供内存分析、线程监控、CPU剖析等功能,方便开发者实时查看JVM状态。 2. JConsole:同样内置于JDK,提供GUI界面来监控Java应用程序的性能和资源消耗。 3. JProfiler:...

    实战Java虚拟机 JVM故障诊断与性能优化 葛一鸣

    例如,合理设置堆大小、新生代与老年代的比例,选择合适的GC策略,避免死锁和竞态条件,以及利用JDK工具(如JVisualVM、JProfiler等)进行性能监控和分析。 5. **故障诊断**:当遇到JVM异常或性能问题时,我们需要...

    Java-JVM性能监控与故障处理工具详细介绍以及使用案例

    工具是运用知识处理数据的手段。这里说的数据包括:运行日志、异常堆栈、GC日志、线程快照文件(threaddump/javacore文件)、堆转储快照(heapdump/hprof文件)等。使用JVM命令和一查看这个JVM参数,帮助我们排查、...

    jdk6新强工具使用,触摸JAVA内存管理机制

    标题中的“jdk6新强工具使用,触摸JAVA内存管理机制”指的是在Java Development Kit (JDK) 6版本中引入的一些强大的性能分析和诊断工具,这些工具帮助开发者深入理解Java应用程序的内存使用情况,从而优化程序性能。...

    java内存分析工具介绍

    Java内存分析工具是Java开发过程中不可或缺的利器,主要用于检测和解决程序中的内存泄漏问题,以及进行性能监控。本文将深入探讨几种常用的Java内存分析工具,它们的特点、使用方法以及如何利用这些工具有效地优化...

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

    4. **性能监控与调优工具**:JDK自带的一些工具,如jconsole、jvisualvm、jmap、jstack等,是JVM性能分析的重要辅助。书中可能详细讲解了这些工具的使用方法和分析技巧。 5. **JVM参数设置**:了解并合理设置JVM...

    JDK 性能

    JProfiler则是一个强大的商业Java性能分析器,能够进行深度内存分析和CPU性能剖析。此外,JDK的`jmap`、`jhat`、`jstack`等命令行工具也是进行性能诊断的得力助手。 在源码层面,JDK通过各种技术手段实现性能优化。...

    实战JAVA虚拟机 (JVM故障诊断与性能优化)【含源码】

    书中介绍了使用JDK自带的工具,如jconsole、jvisualvm、jmap、jhat等进行性能监控和问题排查的方法。读者将学习如何分析堆内存、GC日志,以及如何利用线程Dump来定位死锁和线程阻塞等问题。 书中还涉及了JVM的编译...

    VisualGC 内存监控工具

    VisualGC是一款强大的内存监控工具,它作为JDK1.8中jvisualvm的插件,为Java开发者提供了直观且详细的内存使用情况分析。通过安装并使用VisualGC,我们可以更好地理解和优化Java应用程序的内存管理,从而提升程序...

    JVM-Tunning-Tools-Introduction

    JVM性能监控和分析工具是Java开发者在进行性能调优和故障排查时不可或缺的帮手。JVM(Java虚拟机)提供了多种内置的工具以及支持第三方工具,以监控和分析Java应用程序的运行状态和性能指标。这些工具能够帮助开发者...

    JDK 内置实用工具:监视、故障排除.pdf

    **JDK内置实用工具:监视和故障排除** Java Development Kit (JDK) 提供了一系列内置的工具,用于监视和诊断在Java平台上运行的应用程序。其中一个关键的工具是JConsole,这是一个基于Java Management Extensions ...

    jdk源码包jdk-11.0.1

    9. **jdk.jcmd**:JDK命令行工具,提供了许多用于诊断、管理和操作JVM的命令,如JVM信息查询、堆内存分析、垃圾收集等。 10. **jdk.dynalink**:动态链接库,提供了一种方式来在运行时动态绑定方法调用,通常用于...

    JDK11-java-se-monitoring-and-management-guide.pdf

    JDK 11 Java SE 监控和管理指南 ...JDK 11 Java SE 监控和管理指南为 Java 开发者和系统管理员提供了综合的监控和管理解决方案,涵盖了 Java 平台的架构、监控工具、性能优化、故障排除和安全管理等方面的内容。

Global site tag (gtag.js) - Google Analytics