1 导出堆
进入cmd 输入jdk的bin目录 输入 jmap -dump:live,file=a.map 2524
a可以是随意起的堆名称 2524 是eclipse.exe进程PID。(可以用jps查询相关java进程)
查看jmap用法,cmd进入bin目录后输入jmap 会有提示,example 有例子。
2 分析堆文件
输入 jhat a.map
jhat内置一个简单的web服务器,此命令执行后,jhat在命令行里显示分析结果的访问地址,可以用-port选项 指定端口
如果想指定内存和端口(dump出来的堆很大,在启动时会报堆空间不足的错误): jhat -J-Xmx512m -port 7200 a.map
如果不指定端口的话 会提示 ...Start Http Server on port 7000,Server is ready
这时可以直接打开浏览器查看
http://localhost:7000/ 这里看到所有的类
进入oql查询界面 http://localhost:7000/oql/
具体OQL用法可见:http://localhost:7000/oqlhelp/
注: 2524 是本地的eclipse.exe的pid
更多jmap
查看更多的JVM内存状态 jmap -histo 2524
导出文件如果写了可以只写名称,这样文件(可以是.map,.txt等)会默认的放到一个位置。也可以指定相应的位置。如:jmap jmap -dump:file=c:\dump.txt 2524
分析也要写全路径 jhat -port 7300 c:\dump.txt
3 简单方式
这样使用oql似乎太麻烦了,jvisualvm 更为方便 点击本地的监视,右侧有一个堆dump,点击进去就可以看到有一个oql的选项,这里可以直接输入oql语句,查询结果也相对好看了很多。
jvisualvm可以指定oql,下次可以直接选之前保存的oql语句,同时也给出了很多的oql样例
相关推荐
jhat 是 JavaHeapAnalysisTool 的缩写,它是一个 Java 虚拟机(JVM)堆分析工具,由 Sun Microsystems 提供,用于对 Java 应用程序的堆内存进行分析和诊断。下面是 jhat 的使用方法指南: jhat 的基本概念 jhat ...
6. jmap:此工具用于生成JVM堆内存转储(heap dump)文件,可以用来分析JVM的内存使用情况。 7. jhat:用来分析jmap生成的堆转储文件。它是一个独立的服务器,可以对堆转储文件进行分析和提供一个Web界面来查看分析...
内存分析工具如jvisualvm、jmap、jhat和MAT(Memory Analyzer Tool)等,为Java开发者提供了分析JVM内存使用状况的能力。这些工具可以用来监控堆内存的使用情况,识别内存泄漏,分析内存使用趋势,帮助开发者进行...
5. **性能监控与分析**:JVM提供了丰富的命令行工具,如jps、jstat、jmap、jhat等,用于监控和分析JVM的状态。这些工具可以帮助开发者诊断内存泄漏、CPU过高和GC问题。 6. **JVM参数调优**:为了适应不同的应用场景...
2. **JDK自带工具**:如jconsole、jvisualvm用于监控JVM状态,jmap用于内存映射,jstack用于线程堆栈快照,jhat用于堆转储分析。 五、JVM与其他技术的交互 1. **JNI(Java Native Interface)**:允许Java代码调用...
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解 本文将对一些常用的 JVM 性能调优监控工具进行介绍,包括 jps、jstack、jmap、jhat、jstat 等工具的使用详解。这些工具对于 Java 程序员来说是必备的,...
JDK提供了如jps(Java进程查看器)、jstat(统计监控工具)、jinfo(配置信息查询工具)、jmap(内存映射工具)、jhat(堆转储分析工具)和jstack(线程堆栈跟踪工具)等,帮助开发者分析和诊断JVM的运行状态。...
- jinfo、jmap、jhat、jstack等命令行工具:用于查看JVM配置、内存映射、堆转储等。 通过学习《JVM基础-超清文字版.pdf》,开发者可以更好地理解JVM的工作原理,从而编写出更高效、更稳定的Java程序。了解JVM的...
9. **内存溢出排错**:通过日志分析、内存dump文件解析(如jhat或VisualVM)定位问题,调整JVM参数,优化代码等。 **JVM内存模型** - **重排序**:编译器和处理器为了优化性能可能会改变指令执行顺序。 - **内存...
4. **JInfo、JMap、JHAT**:这些是JDK自带的命令行工具,用于获取JVM信息、映射堆内存和进行堆转储分析。 5. **Grafana + Prometheus + JMX Exporter**:现代的监控解决方案,通过JMX Exporter将JVM指标暴露给...
- 使用监控工具观察内存分配、垃圾收集和线程状态。 - 根据应用特性调整内存分配策略,如增大新生代、减少Survivor区等。 - 选择合适的垃圾收集器,平衡吞吐量和响应时间。 - 调整并发级别,适应多核处理器环境...
- **简介**:`jstat` 是一个用于收集JVM内部数据的工具,可以监控内存使用情况、垃圾回收状态、类装载信息等。 - **常用参数**: - `-class pid`: 显示已加载类的数量等信息。 - `-compiler pid`: 显示实时编译器...
- 使用内存分析工具,如MAT(Memory Analyzer Tool),定位内存泄漏。 - 运行压力测试,模拟真实负载下的JVM行为。 JVM调优是一个持续的过程,涉及到很多细节和技巧。通过深入理解JVM工作原理,结合具体的应用...
为了监控和调试JVM的运行状态,Oracle提供了多个命令行工具,包括jps、jstack、jstat、jmap和jcmd。这些工具可以帮助开发者了解和解决性能问题,优化应用程序。 一、jps (Java Process Status) jps是查看当前系统中...
10. **监控与诊断**:了解如何使用`jstat`、`jmap`、`jhat`等命令行工具进行实时监控和故障排查,对于定位和解决问题非常有用。 11. **JVM内存泄漏**:内存泄漏可能导致内存占用持续增长,最终导致系统崩溃。通过...
五、JVM监控和诊断工具 1. jconsole:图形化界面监控JVM的内存、线程、类加载等信息。 2. jmap:生成堆dump文件,用于分析内存泄漏。 3. jstack:打印线程堆栈信息,排查死锁等问题。 4. jinfo:查看和修改JVM配置。...
7. **JVM监控与诊断工具** - **jconsole**、**jvisualvm**:提供图形化界面监控JVM状态。 - **jmap**、**jhat**:用于内存dump文件的分析。 - **jstack**:打印线程堆栈信息,排查死锁问题。 通过深入理解JVM,...
本教程将详细解释Tomcat服务器中与JVM相关的几个关键工具,包括它们的功能、使用方法及示例。 1. **jps (Java Virtual Machine Process Status tool)**: jps命令用于列出运行在指定主机上的Java虚拟机进程。通过...
JDK内置的命令行工具,如jps、jstat、jmap、jhat等,是分析JVM状态和诊断问题的实用工具。图形界面工具,如JVisualVM,提供了更直观的方式来监控和分析JVM。JDWP(Java Debug Wire Protocol)则用于远程调试,而JMX...
【JVM调优视频理论及工具】主要涵盖了Java虚拟机(JVM)的优化实践与相关的分析工具。在Java开发中,JVM调优是提升应用程序性能的关键环节,尤其是在高并发、大数据处理等场景下,良好的JVM配置能显著提高系统效率。...