jdk自带的jmap就是java内存映像工具,可以用于上生成堆转储快照:
在eclipse中启动一个java类,打开jdk安装目录下的C:\Program Files\Java\jdk1.6.0_11\bin目录,双击jconsole.exe,显示连接窗口:
,单击pid为6920的选项,点连接进入,可以看到jvm运行时的多种参数,
在运行中输入cmd,在命令行中输入以下命令
C:\Documents and Settings\Administrator\jmap -dump:format=b,file=eclipse.bin 6920 ,6920为java进程的pid,回车,显示heap dump file created
命令行窗口键入:C:\Documents and Settings\Administrator\jhat eclipse.bin ,显示Server is ready后,
打开浏览器,输入http://localhost:7000后就可以看到分析日志了
拉到页尾,点击Other Queries标题下的Show instance counts for all classes (excluding platform) ,所有类的数目按照数目排序:
,点击Other Queries标题下的Execute Object Query Language (OQL) query 可以根据OQL语言来查询自己想要的信息:
在其中输入 select file.path.value.toString() from java.io.File file
可以查询所有加载的文件:
,更多查询方法可以参考OQL的语法。
相关推荐
Eclipse Memory Analyzer(MAT)是一款强大的Java虚拟机(JVM)内存分析工具,它能够帮助开发者定位并解决Java应用程序中的内存泄漏问题。MAT通过解析.hprof文件,即Java虚拟机生成的内存快照,来展示堆内存的详细...
当方法区出现溢出问题时,通常需要通过内存映像分析工具分析内存转储快照,判断是内存泄露还是正常的内存消耗。如果是内存泄露,需要找出导致垃圾收集器无法回收的对象及其引用链;如果没有内存泄露,那么可能需要...
**用途**:生成虚拟机的内存映像文件,用于分析内存泄露等问题。 **命令格式**: ``` jmap [option] pid ``` **执行示例**: ``` jmap -dump:format=b,file=/tmp/dump3700.hprof 3700 ``` **功能**:导出指定PID...
jhat是JDK自带的堆分析工具,用于分析由jmap导出的内存映像文件。但jhat已不再推荐使用,因为它在处理大型堆文件时可能效率低下。现在更推荐使用如JProfiler、VisualVM等图形化工具进行分析。 总结: 这些命令行...
jmap:内存映像工具 - **功能**:`jmap` 可以获取堆内存的快照,并将其输出为一个文件,也可以显示堆中的对象信息。 - **常用命令**: - `jmap -dump:format=b,file=<filename> pid`:导出heap dump文件。 - `...
- Jmap:生成堆内存映像和分析。 - Jhat:分析堆转储快照。 - Jstack:打印线程堆栈信息。 - HSDIS:JIT编译代码反汇编可视化。 - JMC、JFR:高级监控和飞行记录器。 - Jconsole、Jvisualvm:集成的管理和监控...
核心转储文件包含了崩溃时刻的完整内存映像,通过对它的分析,可以了解到程序崩溃时的内存状况。 - **工具选择**:通常使用jdmp工具集中的jcore命令来分析core dump文件。 - **分析流程**: - 检查堆栈信息,找出...
通过获取内存对象的静态映像,发现内存中占据空间最大的几种对象的平均年龄相对较大,并且随时间增长,这些对象占用的空间以及平均年龄都在不断增加。这表明存在一些长生命周期的对象在不断地累积,可能是内存泄露的...
**jmap** 用于生成 Java 应用程序的内存映像或堆转储文件,这对于诊断内存泄漏等问题非常有帮助。它不仅可以生成内存映像,还可以提供有关对象分配和内存使用情况的信息。 - **命令格式**:`jmap [options] <PID>` ...
4. 加载操作系统:找到合适的启动设备后,Bootloader会将操作系统的映像加载到内存中指定的地址。 5. 传递控制权:最后,Bootloader将控制权交给操作系统,系统开始执行内核初始化。 二、2410Init[1].s分析 2410...
- `jmap`: 虽然主要用于内存映像,但也可以结合其他工具来获取线程堆栈信息。 2. **Java API:** - `Thread.getStackTrace()`: 可以获取当前线程的堆栈跟踪。 - `Thread.getAllStackTraces()`: 获取所有活动线程...
这些工具能够帮助开发者监控虚拟机的状态、统计信息、内存映像和堆转储等。可视化故障处理工具如JHSDB、JConsole、VisualVM和Java Mission Control提供了更为直观的监控和管理功能。本章还介绍了HotSpot虚拟机的插件...
4. **内存分析**:可以实时捕获系统内存,用于内存调试和取证分析。 5. **模板支持**:如“Ext Superblock.tpl”这样的模板,可以帮助快速解析特定类型的文件结构,如EXT文件系统的超级块信息。 6. **插件扩展**:...
JMeter 压测遇到的问题解决方案 JMeter 是一款功能强大的性能测试...* 了解 mmap(内容映射文件方法)的机制,了解内存映像机制。 通过这些方法,我们可以解决 JMeter 压测遇到的问题,从而提高压测的效率和稳定性。
- jmap:导出内存映像文件和分析堆转储。 - jhat:分析堆转储。 - jstack:线程堆栈分析。 - VisualVM和JConsole:提供可视化界面监控和管理Java应用程序。 #### 多线程性能优化 - 使用线程池:合理配置线程池的...
核心转储是在系统崩溃或出现异常时保存的一份进程内存映像,可以帮助诊断问题的原因。 **用途:** 1. **故障定位**:通过分析 core dump 文件,可以定位到导致崩溃的具体代码位置。 2. **性能问题诊断**:分析内存...
第五部分探讨了Java实现高效并发的原理,包括JVM内存模型的结构和操作;原子性、可见性和有序性在Java内存模型中的体现;先行发生原则的规则和使用;线程在Java语言中的实现原理;虚拟机实现高效并发所做的一系列锁...
- **jmap**:生成内存映像文件,用于分析内存使用情况。 - **jconsole**:图形界面工具,监控和管理本地或远程的应用程序。 - **jinfo**:查询或设置运行时的系统属性。 - **jhat**:生成堆转储文件并启动HTTP服务器...