`
yinwufeng
  • 浏览: 290013 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Sun JVM分析工具

阅读更多

Sun JVM分析工具jps,jstat,jmap,jconsole,MemoryAnalyzer

一、概述  

    SUN 的JDK中的几个工具,非常好用。秉承着有免费,不用商用的原则。以下简单介绍一下这几种工具。

jps  
:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。    
  
jstat  
:一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。    
  
jmap  
:打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。    

jconsole  
:一个java GUI监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器VM。  

jps
:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。

jstat
:一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。

jmap 产生heapdump,用MemoryAnalyzer分析
:打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。

jconsole
:一个java GUI监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器VM。

二、 使用介绍:  
      
    1、 jstat :我想很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程,及其 id。 jps 也是一样,它的作用是显示当前系统的java进程情况,及其id号。我们可以通过它来查看我们到底启动了几个java进程(因为每一个java程序都会独 占一个java虚拟机实例),和他们的进程号(为下面几个程序做准备),并可通过opt来查看这些进程的详细启动参数。  
    使用方法:在当前命令行下打 jps(需要JAVA_HOME,没有的话,到改程序的目录下打) 。

可惜没有linux下的ps好用,名称不好用。但是在第四个工具jconsole的界面里面会有具体JAR包的名称。
      
    2、jstat :对VM内存使用量进行监控。  
    jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程id,和所选参数。以下详细介绍各个参数的意义。  
    jstat -class pid:显示加载class的数量,及所占空间等信息。  
    jstat -compiler pid:显示VM实时编译的数量等信息。  
    jstat -gc pid:可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。  
    jstat -gccapacity:可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,如:PGCMN显示的是最小perm的内存使 用量,PGCMX显示的是perm的内存最大使用量,PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。其他的可以根据这个类推, OC是old内纯的占用量。  
    jstat -gcnew pid:new对象的信息。  
    jstat -gcnewcapacity pid:new对象的信息及其占用量。  
    jstat -gcold pid:old对象的信息。  
    jstat -gcoldcapacity pid:old对象的信息及其占用量。  
    jstat -gcpermcapacity pid: perm对象的信息及其占用量。  
    jstat -util pid:统计gc信息统计。  
    jstat -printcompilation pid:当前VM执行的信息。  
    除了以上一个参数外,还可以同时加上 两个数字,如:jstat -printcompilation 3024 250 6是每250毫秒打印一次,一共打印6次,还可以加上-h3每三行显示一下标题。  
      
   3、jmap 是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。使用方法 jmap -histo pid。如果连用 SHELL jmap -histo pid>a.log可以将其保存到文本中去(windows下也可以使用),在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。 jmap -dump:format=b,file=f1 3024可以将3024进程的内存heap输出出来到f1文件里。  
      
    4、jconsole 是一个用java写的GUI程序,用来监控VM,并可监控远程的VM,非常易用,而且功能非常强。由于是GUI程序,这里就不详细介绍了,不会的地方可以参考SUN的官方文档。  
    使用方法:命令行里打 jconsole,选则进程就可以了。  
      
    友 好提示:windows查看进程号,由于任务管理器默认的情况下是不显示进程id号的,所以可以通过如下方法加上。ctrl+alt+del打开任务管理 器,选择‘进程’选项卡,点‘查看’->''选择列''->加上''PID'',就可以了。当然还有其他很好的选项。
分享到:
评论

相关推荐

    JVM监控工具使用入门

    jvisualvm是一款功能更全面的JVM监控工具,它不仅能够监控JVM的状态,还可以进行垃圾回收管理、线程分析等功能。jvisualvm的界面友好,非常适合进行深入的性能分析工作。 **使用步骤:** 1. **启动jvisualvm**:...

    JVM内存状况查看方法和分析工具

    GC Portal 是 Sun 提供的一个 GC 分析工具,可以帮助分析 GC 日志,并生成相关的图形化的报表。GC Portal 部署起来会有些麻烦,它需要运行在老版本的 Tomcat 上,同时需要数据库,部署完毕后通过上传日志文件的方式...

    JVM调优工具命令详解.pdf

    本篇文档详细介绍了JVM调优工具的命令使用及其相关知识点,涵盖了内存信息分析、死锁检测、JMX远程监控等方面的命令行工具的使用方法。 首先,文档提到了JPS命令,它用于查看当前运行的Java进程信息,并返回进程ID...

    jvm监控工具介绍

    这些JVM监控工具提供了全面的洞察力,帮助开发者调试问题、优化性能和理解应用程序的行为。熟悉并掌握它们的使用,是Java开发和运维工作中的重要技能。在实际操作中,应根据具体情况选择合适的工具,以实现高效的...

    jvm监控工具visualVM

    VisualVM是一款强大的JVM(Java Virtual Machine)监控和性能分析工具,由Oracle公司开发并提供。它集成在Java SDK中,默认位于%JAVA_HOME%\bin目录下,方便开发者直接使用。这款工具提供了丰富的功能,帮助Java...

    05-VIP-JVM调优工具详解(预习资料)1

    JVM调优工具详解 JVM调优工具是Java虚拟机(JVM)中的一组工具,用于优化和调试Java应用程序。这些工具可以帮助开发者和运维人员更好地了解JVM的运行情况,诊断和解决性能问题。 Jmap命令是JVM调优工具之一,用于...

    JVM深入解析(JVM specification 和Sun的JVM的内存机制)

    - 使用JVM工具如JVisualVM、JConsole进行监控和分析,找出性能瓶颈。 - 优化还包括对对象创建、内存泄漏和长期存活对象的管理。 5. Java GC机制 - Java的垃圾收集机制自动回收不再使用的对象占用的内存,避免...

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

    - **功能**:MAT是一个强大的内存分析工具,可以帮助开发者识别内存泄漏。 - **使用场景**: - 分析heap dump文件。 - 查找内存泄漏。 - 优化内存使用。 #### 二、JVM参数 JVM参数分为几大类: 1. **调试参数*...

    JVM Hotspot实现源码

    首先,Hotspot JVM的核心设计理念是“热Spot”优化,即通过动态分析代码执行情况,识别出经常执行的“热点”代码,然后对其进行JIT(Just-In-Time)编译,生成高效的本地机器码。这种优化策略显著提升了Java应用的...

    jvm gc jvm调优 查看工具

    这里提到的“查看工具”是指用于监控和分析JVM性能的工具,其中就包含了Java VisualVM。Java VisualVM(也被称为JVisualVM)是Java开发工具包(JDK)自带的一个多用途的JVM诊断工具。它提供了CPU和内存使用情况的...

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

    此外,对于更复杂的性能问题,还可以结合其他工具如`jmap`、`jstat`、`VisualVM`等进行综合分析。在实际开发和运维过程中,熟练掌握这些工具的使用技巧,对于提高系统性能、保障服务质量具有重要意义。

    JVM调优工具11.pdf

    Jvisualvm是一个功能丰富的JVM监控、分析工具,它支持导入内存dump文件进行分析,通过可视化界面展示内存中对象的分布情况,帮助我们快速定位问题所在。 Jstack是一个用于生成当前Java线程快照的命令行工具,可以...

    jvm

    hprof是一个由Sun Microsystems开发的JVM性能分析工具,主要用于收集Java应用程序的堆内存快照、线程堆栈跟踪、CPU采样和监视器竞争等信息。通过分析这些信息,开发者可以识别程序中的性能瓶颈,如内存泄漏、热点...

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

    上述工具共同构成了Java开发者和运维人员的有力武器库,帮助他们在面对复杂多变的JVM问题时能够迅速定位、分析并解决问题。每一种工具都有其独特的优势和适用场景,了解并熟练运用它们,将极大地提升处理Java应用...

    visualvm监控jvm及远程jvm监控方法

    VisualVM是一款强大的Java虚拟机(JVM)性能分析和监视工具,由Oracle公司开发并提供。它集成了一系列功能,如内存分析、线程检查、CPU消耗监控、类加载和垃圾收集等,使得开发者能够深入了解应用在JVM上的运行状况...

    JVM内存管理白皮书

    介绍了一系列用于评估垃圾收集性能的工具和命令行选项,包括打印垃圾收集详细信息的命令、jmap、jstat、HPROF和HAT等分析工具。 7. 与垃圾收集相关的关键选项 简要列举了影响垃圾收集器行为的一些关键选项。 8. 更...

    jdk sun 开头的源码

    例如,`sun.jvm.hotspot`子包提供了一些用于分析和调试HotSpot JVM的工具,这对于性能优化和故障排查非常有用。 4. **编译器和类加载器**:`sun.compile`和`sun.misc`包提供了对Java编译和类加载的支持。`sun.misc....

    JVM性能调优

    - **VisualVM**:提供丰富的图形界面,帮助分析JVM性能问题。 - **JProfiler** 或 **YourKit**:商业工具,提供更深入的性能分析能力。 通过上述的介绍,我们可以看到JVM性能调优不仅需要理论上的知识积累,还需要...

Global site tag (gtag.js) - Google Analytics