1 JDK8 使用 jcmd 代替以前版本中的jstack
, jinfo
, and jmap
工具使用
2JMC 诊断,JMC是由JMX,JFR和其它几个可下载功能插件共同组成,其中:
a.JMX起到监控和管理作用。能够连接运行中的jvm,能实时的收集和显示一些关键的属性
b. JFR性能分析
c. 在jdk8环境下,可以触发用户自定义的行为和规则
d.JMC的其它插件 如: - WLS, DTrace[类似JFR], JOverflow[分析 heap情况]
程序增加参数 -XX:+UnlockCommercialFeatures -XX:+FlightRecorder
3 JFR 有2种录制方案
I 使用 Continuous Recordings,对应用程序不会有太多的性能影响。但是没有heap statistics or allocation profiling相关信息,对调试罕见的错误非常有用。
II 使用Profiling Recordings,会获取到很多有用的信息,对应用程序会产生较大的影响,甚至达到2%的影响,主要用在以下3个方面
a 分析 大对象创建和方法调用情况
b 查找 使用越来越多内存的class,可能导致内存泄漏。即不能正确回收内存的class
c 查找 类似 synchronized 导致的 性能瓶颈
4 有三种方法启动JFR
I Start a profiling recording
java -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:StartFlightRecording=delay=20s,duration=60s,name=myrecording,filename=C:\TEMP\myrecording.jfr,settings=profile MyApp
II Start a continuous recording
java -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=default recording=true,disk=true,repository=/tmp,maxage=6h,settings=default MyApp
III 使用 JCMD Utility 启动
jcmd pid help
jcmd pid JFR.start name=MyRecording settings=profile delay=20s duration=2m filename=C:\TEMP\myrecording.jfr
5 Native Memory Tracking
I 应用设置 -XX:NativeMemoryTracking=summary or -XX:NativeMemoryTracking=detail
II jcmd <pid> VM.native_memory summary or
jcmd <pid> VM.native_memory detail
.
III jcmd <pid> VM.native_memory baseline
jcmd <pid> VM.native_memory summary.diff or jcmd <pid> VM.native_memory detail.diff
6 java -agentlib:hprof=help
I 单个类的性能分析
java -agentlib:hprof=heap=sites ToBeProfiledClass
javac -J-agentlib:hprof=heap=sites ToBeProfiledJAVA[部分性能]
II 配置成整体项目运行
-agentlib:hprof=heap=dump,cpu=samples,format=b
如导出以下文件:java.hprof
7 Jhat 工具使用
启动 jhat java.hprof
8 jstat 工具
jstat -help / jstat -options
如:jstat -gcutil pid 1s 10
9 jconsole 远程配置
-Djava.rmi.server.hostname=192.168.2.3
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
10 Detect Deadlocks
增加参数 -XX:+PrintConcurrentLocks
heap summary:-XX:+PrintClassHistogram 打出详情
相关推荐
【标题】"江淮诊断工具V1.0.rar" 指的是一个专门针对江淮汽车的车辆诊断工具的软件包,版本为1.0。江淮汽车是中国知名的汽车制造商,这款工具可能是他们为维修技师或车主提供的用于检测和诊断车辆电子系统问题的软件...
Java Mission Control(JMC)是Oracle JDK工具套件中的一个重要组成部分,主要用于高性能、低延迟的应用程序的监控和诊断。此更新的"JMC_Update_V1.6.rar"文件显然包含了JMC的最新升级版,V1.6。这次更新旨在提供更...
3. **飞行记录器(Flight Recorder)**:这是一个低开销的诊断工具,可以持续收集JVM数据,用于后期分析。 4. **JVM配置**:JMC可以用来调整JVM参数,优化应用程序性能。 5. **内存剖析**:分析内存使用情况,找出...
**JDK Mission Control (JMC)** 是一个强大的Java应用程序监控和诊断工具,主要设计用于深入分析和优化JVM(Java虚拟机)的行为。在“jmc-8.1.0_windows-x64”这个压缩包中,我们拥有适用于Windows 64位系统的JMC...
Java Mission Control(JMC)是Oracle提供的一款强大的Java应用程序监控和管理工具,主要设计用于深入分析和诊断复杂的Java应用程序性能问题。"jmc-7.1.2_windows-x64.zip" 是JMC的一个特定版本,适用于Windows 64位...
JMC提供了丰富的性能监视和诊断工具,如飞行记录器(Flight Recorder)、JMX(Java Management Extensions)客户端、线程分析器等。飞行记录器可以捕获JVM的详细运行数据,而线程分析器则帮助开发者理解和解决多...
JMC是一个强大的性能分析和诊断工具,它包含了一系列的工具,如Flight Recorder、Java VisualVM和Mission Control Client等。这些工具可以帮助开发者深入了解应用程序的运行情况,包括内存使用、线程活动、类加载、...
Java Mission Control是Oracle提供的一款强大的Java应用程序性能监控和故障诊断工具,它为开发者和运维人员提供了深入的JVM(Java Virtual Machine)分析功能。 描述中的信息与标题相同,进一步确认了文件的内容是...
1. **Java Mission Control**:JMC是一个全面的Java应用程序性能监视和诊断工具,它提供了丰富的功能,如实时飞行记录器(Flight Recorder)、JVM分析、线程快照、内存剖析等,帮助开发者和运维人员了解应用的运行...
Java Mission Control(JMC)是Oracle JDK中包含的一个强大的性能分析和诊断工具,尤其适用于开发者和运维人员进行复杂Java应用程序的监控与优化。在"jmc-8.1.0_osx-x64.tar.gz"这个压缩包中,我们找到了JMC针对...
Java诊断工具是Java开发者在遇到性能问题、内存泄漏或线程死锁等复杂情况时的重要助手。本压缩包“Java诊断工具源代码.zip”包含了用于深入理解并优化Java应用程序的相关工具源代码,这对于学习和实践Java性能调优至...
1. **Java Mission Control (JMC)**: JMC 是一个强大的Java性能分析工具,由Oracle公司开发,用于监控和分析Java应用程序的性能。它提供了丰富的功能,包括飞行记录器、线程探测、内存分析和JVM诊断等,帮助开发者和...
Java Mission Control是一款强大的性能分析和监控工具,由Oracle公司开发,用于Java应用程序的深入诊断和分析。它提供了丰富的功能,如实时监控、线程分析、内存泄漏检测和飞行记录器等。 描述中的信息与标题相同,...
生产时间分析和诊断工具。 目前可以在受支持平台上的 Oracle JDK 和 Eclipse 市场中找到 Mission Control 的构建版本。 有关任务控制的更多信息,请参阅。 下载构建 JDK Mission Control 的二进制发行版由不同的下游...
Java Mission Control(JMC)是Oracle公司开发的一款强大的Java应用程序性能监控和诊断工具。它主要包含在Java Development Kit (JDK)中,为开发者和运维人员提供了深入的JVM(Java虚拟机)分析功能,帮助识别性能...
Java Mission Control是Oracle公司提供的一款强大的Java性能分析和监控工具,它帮助开发者和运维人员深入洞察Java应用程序的运行状况,从而优化性能、诊断问题。 该压缩包中包含的主要文件可能有以下几个部分: 1....
`jvisualvm`是另一个重要的工具,可以查看和分析Java应用程序的内存占用、CPU使用情况、线程状态、类加载、JVM配置等信息,帮助开发者诊断和优化性能问题。 在安装了JDK1.8后,开发者可以使用`javac`命令编译Java源...
生产时间分析和诊断工具。 目前可以在受支持平台上的 Oracle JDK 和 Eclipse 市场中找到 Mission Control 的构建版本。 有关任务控制的更多信息,请参阅。 核心 API 功能 用于解析和处理 Java 飞行记录的核心 API ...
Mission Control是Java的开源生产时间剖析和诊断工具。 当前,可以在受支持平台上的Oracle JDK和Eclipse市场中找到Mission Control的内部版本。 有关任务控制的更多信息,请参见 。 核心API功能 用于解析和处理...
Java Mission Control (JMC) 是Oracle提供的一个强大的工具,用于监控、分析和管理Java应用程序的性能。它提供了深入的洞察力,帮助开发者和系统管理员理解Java应用程序的行为,优化性能,并解决生产环境中的问题。...