`
疯狂de程序员
  • 浏览: 6038 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于JVM查看GC消耗情况

    博客分类:
  • JAVA
阅读更多
ps(Java Virtual Machine Process Status Tool)是JDK提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。

jps存放在JAVA_HOME/bin/jps,使用时为了方便请将JAVA_HOME/bin/加入到Path.


jstat
       1. jstat -gc pid
            可以显示gc的信息,查看gc的次数,及时间。
            其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。
      2.jstat -gccapacity pid
            可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,
            如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使用量,
            PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。
            其他的可以根据这个类推, OC是old内纯的占用量。
     3.jstat -gcutil pid
            统计gc信息统计。
     4.jstat -gcnew pid
           年轻代对象的信息。
     5.jstat -gcnewcapacity pid
           年轻代对象的信息及其占用量。
     6.jstat -gcold pid
          old代对象的信息。
     7.stat -gcoldcapacity pid
          old代对象的信息及其占用量。
     8.jstat -gcpermcapacity pid
          perm对象的信息及其占用量。
     9.jstat -class pid
          显示加载class的数量,及所占空间等信息。
     10.jstat -compiler pid
          显示VM实时编译的数量等信息。
     11.stat -printcompilation pid
          当前VM执行的信息。
        一些术语的中文解释:
         S0C:年轻代中第一个survivor(幸存区)的容量 (字节)
         S1C:年轻代中第二个survivor(幸存区)的容量 (字节)
         S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (字节)
         S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (字节)
         EC:年轻代中Eden(伊甸园)的容量 (字节)
         EU:年轻代中Eden(伊甸园)目前已使用空间 (字节)
         OC:Old代的容量 (字节)
         OU:Old代目前已使用空间 (字节)
         PC:Perm(持久代)的容量 (字节)
         PU:Perm(持久代)目前已使用空间 (字节)
         YGC:从应用程序启动到采样时年轻代中gc次数
         YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)
         FGC:从应用程序启动到采样时old代(全gc)gc次数
         FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
         GCT:从应用程序启动到采样时gc用的总时间(s)
         NGCMN:年轻代(young)中初始化(最小)的大小 (字节)
         NGCMX:年轻代(young)的最大容量 (字节)
         NGC:年轻代(young)中当前的容量 (字节)
         OGCMN:old代中初始化(最小)的大小 (字节)
         OGCMX:old代的最大容量 (字节)
         OGC:old代当前新生成的容量 (字节)
         PGCMN:perm代中初始化(最小)的大小 (字节)
         PGCMX:perm代的最大容量 (字节)  
         PGC:perm代当前新生成的容量 (字节)
         S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比
         S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比
         E:年轻代中Eden(伊甸园)已使用的占当前容量百分比
         O:old代已使用的占当前容量百分比
         P:perm代已使用的占当前容量百分比
         S0CMX:年轻代中第一个survivor(幸存区)的最大容量 (字节)
         S1CMX :年轻代中第二个survivor(幸存区)的最大容量 (字节)
         ECMX:年轻代中Eden(伊甸园)的最大容量 (字节)
         DSS:当前需要survivor(幸存区)的容量 (字节)(Eden区已满)
         TT: 持有次数限制
         MTT : 最大持有次数限制

分享到:
评论

相关推荐

    java应用JVM的GC频率观察方法

    只需在JDK安装目录下的bin目录找到`jvisualvm.exe`并运行,连接到目标远程服务器,就可以查看和分析应用的GC情况。 除了VisualVM,还有其他工具如JConsole、JMX、GCMonitor等,它们都可以提供GC的监控和分析。例如...

    JVM调优,GC算法汇总

    其中,垃圾收集(Garbage Collection, GC)是JVM管理内存的关键机制。GC的主要目标是自动回收不再使用的对象所占用的内存空间,以防止内存泄漏,并确保程序能够持续稳定地运行。 GC的工作原理可以分为几个主要阶段...

    JVM体系结构与GC调优

    Java虚拟机(JVM)是Java程序运行的基础,它的体系结构和垃圾收集(GC)调优对于优化Java应用性能至关重要。本PPT深入探讨了这两个关键主题,旨在帮助开发者理解和提升应用程序的运行效率。 首先,JVM是一个抽象的...

    JVM常用的GC策略介绍

    ### JVM常用的GC策略详解 #### 一、引言 在Java虚拟机(JVM)中,垃圾收集(GC)是一项至关重要的任务,它自动管理程序运行时不再使用的对象内存,从而避免了手动管理内存可能导致的内存泄漏等问题。本文将详细介绍几...

    jvm-mon基于控制台的JVM监视

    1. **内存监控**:`jvm-mon`能够显示堆内存、非堆内存(如 PermGen 或 Metaspace)的使用情况,包括总大小、已分配、已使用以及剩余空间等信息,帮助开发者发现内存溢出问题。 2. **GC活动追踪**:它会记录垃圾收集...

    visualgc插件离线安装包

    通过VisualGC,你可以观察到每次垃圾收集的细节,包括新生代、老年代的大小变化,GC的时间消耗,以及Survivor区的使用情况等。这些信息对于调优JVM参数,减少不必要的GC暂停,提升应用性能至关重要。 总的来说,...

    Tomcat JVM内存设置方法

    - 可以通过访问`http://<host>:<port>/manager/status`页面查看当前JVM内存使用情况。 #### 六、总结 通过上述步骤,您可以有效地调整Tomcat的JVM内存设置,从而提高应用性能和稳定性。请注意,这些设置需要根据...

    JVM Monitor

    - **类加载统计**:查看已加载类的数量、类加载器的使用情况,帮助理解代码的复杂性和资源消耗。 - **类卸载**:检查类是否正常卸载,有时过多的类驻留在内存中会导致内存溢出。 5. **系统资源监控** - **CPU...

    jvm常用调优方式

    特别要关注 Full GC,因为它会对整个堆进行整理,导致 Full GC 一般由于以下几种情况: 旧生代空间不足;Perm Gen 空间不足;统计得到的 GC 后晋升到旧生代的平均大小大于旧生代剩余空间;控制好新生代和旧生代的...

    idea插件JVM内存工具JProfiler11

    通过查看对象分配图表,可以发现哪些类或方法在消耗大量内存,从而定位潜在的问题。 2. **垃圾收集分析**:JProfiler11提供了GC日志分析,可以观察不同垃圾收集器的执行频率和效果,帮助优化垃圾回收策略,减少不必...

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

    - **堆内存分析**:"Memory"选项卡用于查看堆内存使用情况,包括对象分配、GC活动和内存泄漏检测。 - **类加载**:"Classes"选项卡展示类加载情况,包括已加载的类数量、类加载和卸载的详细信息。 - **线程分析**...

    jvm虚拟机学习资料.zip

    本资料集合包含了多个关于JVM学习的重要主题,旨在帮助读者从基础到深入地掌握JVM的工作原理和优化技巧。 1. **JVM运行机制** (2.JVM运行机制.pptx) JVM的运行机制包括类加载、字节码执行、内存管理等关键过程。类...

    java jstat 查看哪个进程频繁GC垃圾回收

    这些参数将使JVM在每次垃圾回收时打印详细的日志,包括GC的类型(如Young GC或Full GC)、执行时间、回收前后的内存使用情况等。通过对这些日志的分析,我们可以识别出哪些操作导致了频繁的垃圾回收,如大对象分配、...

    Sun JVM原理与内存管理

    - **提高应用效率**:通过了解GC的工作原理,开发者可以更好地优化应用程序,减少内存消耗。 #### 三、内存结构 - **PC 寄存器**:用于存储当前线程正在执行的方法的指令地址。 - **局部变量区**:存放方法参数和...

    jvm 调优的详细介绍

    Java虚拟机(JVM)作为Java程序的运行环境,其性能直接影响着应用程序的响应时间和资源消耗。合理的JVM调优不仅可以提升程序的运行效率,还能优化用户体验。本文将详细介绍几种常用的垃圾收集(GC)策略及其配置方法,并...

    JVM分析工具

    `jstat` 是Java监控和诊断工具的一部分,用于收集JVM的各种运行时统计信息,如垃圾收集器的状态、类装载情况、内存使用等。它能实时监控JVM性能,对性能调优非常有帮助。例如,`jstat -gc`可以显示垃圾回收的详细...

    VisualGC 内存监控工具

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

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

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

Global site tag (gtag.js) - Google Analytics