`

JVM 工具

 
阅读更多
  • jvm 调试工具
    • gc时间查看 jstat -gcutil pid 
    • jvm  堆内存使用情况 
    • jvm线程调试
  • jvm线上部署
    • 响应时间优先:
    • 吞吐量优先
    • 参数配置
  • 参考资料

 

 

jvm 调试工具

  1. gc时间查看 jstat -gcutil pid 

     

     S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT    0.00  85.38  39.77  27.86  59.94     83    0.444     4    0.657    1.101

    S0:Heap上的Survivor space 0段 已使用空间的百分比

    S1:Heap上的Survivor space 1段已使用的空间百分比

    E:Heap上Eden space已使用的空间百分比

    O:Heap上的Old space段已使用的空间百分比

    P:Perm space已使用的空间百分比

     

  2. jvm  堆内存使用情况 

    • jmap -live:histo pid  查看jvm中生存的类对象,按照实例数和占用空间大小排序
    • jmap -heap pid 查看jvm 内存占用情况

       

  3. jvm线程调试

 

ps -mp pid -o THREAD,tid,time

nid 转16进制  printf "%x\n" tid

显示jvm每个线程cpu使用率,如果jvm占用cpu过高,据此查看 查出对应的线程ID号。然后根据jstack -F pid 或 jstack pid查看jvm运行的线程,根据thread id找到对应的线程,可以找到占用cpu的代码。

 

jvm线上部署

响应时间优先:

年老代使用并发收集器,所以其大小需要小心设置,一般要考虑并发会话率会话持续时间等一些参数。如果堆设置小了,可以会造成内存碎片、高回收频率以及应用暂停而使用传统的标记清除方式;如果堆大了,则需要较长的收集时间。最优化的方案,一般需要参考以下数据获得:

  1. 并发垃圾收集信息

  2. 持久代并发收集次数

  3. 传统GC信息

  4. 花在年轻代和年老代回收上的时间比例

减少年轻代和年老代花费的时间,一般会提高应用的效率

吞吐量优先

一般吞吐量优先的应用都有一个很大的年轻代和一个较小的年老代。原因是,这样可以尽可能回收掉大部分短期对象,减少中期的对象,而年老代尽存放长期存活对象。

      参考资料:jvm调优案例及参数详解  

参数配置

  • args="-J-server -Xms10000M -Xmx10000M -Xmn4800M -Xss256k -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+UseParNewGC -XX:ParallelGCThreads=8 -XX:SurvivorRatio=2 -XX:TargetS
    urvivorRatio=50 -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=5 -XX:CMSMaxAbortablePrecleanT
    ime=5000 -XX:CMSInitiatingOccupancyFraction=70 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Djmagick.systemclassloader=false -DXCE_USE_DBCP -DPASSPORT_CREATE_CLUSTER"
    args="-J-server -Xms10000M -Xmx10000M -Xmn4800M -Xss256k -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+UseParNewGC -XX:ParallelGCThreads=8 -XX:SurvivorRatio=2 -XX:TargetS
    urvivorRatio=50 -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=5 -XX:CMSMaxAbortablePrecleanT
    ime=5000 -XX:CMSInitiatingOccupancyFraction=70 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Djmagick.systemclassloader=false -DXCE_USE_DBCP -DPASSPORT_CREATE_CLUSTER"

分享到:
评论

相关推荐

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

    ### JVM工具、参数调优与调试技巧 #### 一、JVM工具 ##### 1. jps:虚拟机进程状况工具 - **简介**:`jps` 是一个用于显示当前运行的所有Java虚拟机进程(JVMs)的简单工具。它会列出每个JVM的PID(进程ID)以及...

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

    《JVM工具、参数调优&调试技巧》 在Java开发中,理解并掌握JVM(Java虚拟机)的工作原理及优化技术是至关重要的。本文将深入探讨JVM的工具、参数调优以及调试技巧,旨在帮助开发者提升应用性能,减少系统故障。 一...

    ie11登陆ebs的jvm工具

    标题中的“ie11登陆ebs的jvm工具”指的是在Windows 10操作系统中,使用Internet Explorer 11浏览器登录Oracle E-Business Suite (EBS)时,可能需要一个特定版本或配置的Java Virtual Machine (JVM)工具。EBS是Oracle...

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

    了解并掌握JVM工具和参数调优技巧,可以帮助我们提升应用程序的性能,减少内存泄漏,优化资源利用,以及解决运行时问题。以下将详细介绍相关知识点。 一、JVM工具 1. **jps(Java Virtual Machine Process Status ...

    java 测试jvm工具可执行加入

    java 测试jvm工具可执行加入java 测试jvm工具可执行加入java 测试jvm工具可执行加入java 测试jvm工具可执行加入java 测试jvm工具可执行加入java 测试jvm工具可执行加入java 测试jvm工具可执行加入java 测试jvm工具可...

    idea插件JVM内存工具JProfiler11

    IntelliJ IDEA(简称Idea)作为广受欢迎的Java集成开发环境,提供了一系列强大的工具来帮助开发者进行性能调优,其中就包括JProfiler11这款强大的JVM内存分析工具。本文将详细介绍如何使用Idea中的JProfiler11插件,...

    JVM监控工具使用入门

    ### JVM监控工具使用入门 #### 引言 Java虚拟机(JVM)是运行Java程序的基础环境,其性能直接影响到应用程序的稳定性和响应速度。为了更好地理解和优化JVM的运行状态,开发人员需要掌握一系列的监控工具和技术。...

    JVM分析工具

    为了确保应用的高效运行和优化,开发者通常会使用一系列的JVM分析工具。以下是对这些工具的详细介绍: 1. **jmap**: `jmap` 是一个命令行工具,它允许开发者获取堆内存的详细信息,包括堆的配置、对象统计、类...

    用JVM工具接口创建调试和分析代理.docx

    Java虚拟机工具接口(JVMTI,Java Virtual Machine Tool Interface)是Java开发工具包(Java SDK)的一个核心组件,自Java 2 SDK Standard Edition 1.5.0版本起引入,用于替代实验性的JVMPI(Java Virtual Machine ...

    最新版java JVM 工具 visualvm_20.zip

    VisualVM是一款强大的Java诊断工具,它提供了丰富的功能来帮助开发者理解和优化JVM上的应用程序。VisualVM_20可能是该工具的一个更新版本,提供了更多改进和新特性。 VisualVM主要包含以下几方面的功能: 1. **...

    MAT JVM 内存分析工具.

    MAT,全称Memory Analyzer Tool,是IBM开发的一款强大的Java虚拟机(JVM)内存分析工具。它被广泛用于诊断和解决Java应用程序中的内存泄漏、内存消耗过高以及性能问题。MAT提供了一种直观的方式来查看和理解堆内存的...

    JVM调优技巧

    JVM深入理解,JVM调优技巧

    JVM监控工具,用来怎么提高JAVA的效率

    例如,VisualVM是Oracle提供的一款强大的多合一JVM工具,它包含了丰富的功能,如内存分析、线程监控、类加载统计以及CPU和GC(垃圾收集)性能监视等。 1. **线程监控**:在Java应用中,线程是执行任务的基本单位。...

    JVM 监控 调优 工具

    本文将深入探讨JVM内存结构、监控工具及其在调优和GC优化中的应用。 **JVM内存机构** JVM内存主要分为以下几个区域: 1. **堆内存(Heap)**:这是JVM中最大的一块内存区域,主要用于存储对象实例。堆被进一步...

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

    VisualVM是一款强大的Java虚拟机(JVM)性能分析和监视工具,由Oracle公司开发并提供。它集成了一系列功能,如内存分析...无论是本地还是远程,VisualVM都是一个强大且易用的JVM工具,值得在日常开发和调优工作中使用。

    Tomcat教程-JVM相关工具.docx

    了解并熟练运用这些JVM工具,可以帮助开发者和运维人员更好地理解Tomcat服务器的运行状况,及时发现和解决性能问题,提升整体系统的稳定性和效率。在实际工作中,根据具体需求选择合适的工具进行监控和诊断,是优化...

    JVM Hotspot实现源码

    深入理解Hotspot源码,有助于开发者优化Java应用,理解内存管理、垃圾收集的工作原理,以及如何利用JVM工具进行性能调优。对于Java程序员来说,这是一门必不可少的进阶课程,能提升代码编写和问题排查的效率,使应用...

    (二)MATJVM 内存分析工具.MAT JVM 内存分析工具.MAT JVM 内存分析工具.

    MAT JVM内存分析工具可以帮助开发者深入理解Java虚拟机(JVM)的内存管理机制,通过分析堆内存快照来识别内存消耗异常的情况。 首先,MAT提供了丰富的视图来帮助用户查看内存状态,例如“概述”视图可以快速了解堆...

Global site tag (gtag.js) - Google Analytics