`

使用jmap命令

阅读更多
由于PE的误操作,导致把应用bin目录下的properties文件删除了,而这个文件恰好又没有备份,如果要恢复这个文件需要询

问很多人,而且还不一定能全部找到,那么此时只能从java的内存里找这些信息了。操作步骤如下:

首先要把jvm的内存dump下来,使用jmap命令,由于这些数据对应的对象都是live的,所以在dump的时候只dump这些live的就

OK了,否则dump下来的文件会很大,不便分析,dump使用命令jmap -dump:live,format=b,file=heap.bin pid

接下来分析这个heap.bin文件,比较好的方式有两种,一种用eclipse mat(可以参考官网的文档),另外一种使用jhat,

jhat提供了web界面的方式供查看,在命令行下输入:jhat -J-

Xmx512m heap.bin(如果出现oom则把-Xmx在调整的大一点)。当出现Server is ready的时候,在浏览器里输入

http://localhost:7000即可以看到数据了


MAT地址:http://archive.eclipse.org/mat/1.1/update-site/
分享到:
评论

相关推荐

    Kubernetes应用java程序无法使用jmap,jstack的解决方案.docx

    在 Kubernetes 环境中,运行 Java 程序时,无法使用 jmap 和 jstack 命令进行性能分析和诊断。这种情况下,无法获取 Java 进程的 pid,导致无法使用 jmap 和 jstack 命令。 解决方案: 1. 了解 Linux 特殊进程 在 ...

    jmap+EclipseMAT:排查内存泄漏的好工具.pdf

    2. 使用 Jmap 命令来输出堆 heap 信息,例如:jmap -dump:format=b,file=f1 。 3. 使用 EclipseMAT 工具来分析输出的堆 heap 信息,例如:File -> Load Heap Dump -> 选择输出的堆 heap 文件。 4. 在 EclipseMAT 中...

    java使用JMAP定位代码内存泄漏在哪

    本文将详细介绍如何使用JMAP工具来定位Java代码中的内存泄漏问题。 首先,理解内存泄漏的概念:内存泄漏是指程序在申请内存后,无法释放已申请的内存空间,一次小的内存泄漏可能并不明显,但随着时间的推移,这些未...

    05-VIP-JVM调优工具详解(预习资料)1

    在实际应用中,可以使用Jmap命令查看内存信息,使用Jvisualvm可视化性能数据,使用Jstack命令找到死锁和高CPU使用率的线程,使用JMX远程监控和管理Java应用程序。这些工具可以帮助开发者和运维人员更好地了解JVM的...

    解决java程序运行慢问题.doc

    解决内存泄露问题可以使用 jmap 命令。jmap 命令可以统计所有对象的个数,查看哪些对象的数量一直在增加,从而找到内存泄露的源头。例如,可以使用 jmap -histo:live pid 命令来统计所有对象的个数,然后每隔一分钟...

    使用jmap分析Java程序性能问题

    #### jmap命令的使用 ##### 命令格式 jmap的命令格式较为简单: ``` jmap [options] <pid> | ``` 其中,`<pid>`表示目标Java进程的进程ID,`<core>`则表示Java核心文件路径。常见的选项包括: - `-dump:format=...

    Java虚拟机调优及问题排查手册.docx

    例如,使用jmap命令可以查看当前的堆栈快照信息: ``` jmap -heap ``` 使用jhat命令可以查看当前的堆栈快照详细信息: ``` jhat -J-Xmx1024m ``` Tomcat调优 Tomcat调优是指通过各种配置和参数来优化Tomcat的...

    JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解.docx

    JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解 本文将对一些常用的 JVM 性能调优监控工具进行介绍,包括 jps、jstack、jmap、jhat、jstat 等工具的使用详解。这些工具对于 Java 程序员来说是必备的,...

    堆栈溢出1

    此外,我们还可以使用 jmap 命令来 dump 堆栈信息,以便后续分析垃圾回收情况。jmap 命令可以将堆栈信息 dump 到一个文件中,然后使用 jvisualvm 等工具来分析该文件。 在 Java 中,我们还需要注意 ...

    使用 Eclipse Memory Analyzer 进行堆转储文件分析_files

    2. **获取堆转储文件**:使用JMAP命令生成堆转储文件。在命令行中,输入`jmap -dump:format=b,file=<dump_file_path> <pid>`,其中`<dump_file_path>`是你想要保存堆转储文件的路径,`<pid>`是Java进程的ID。 3. **...

    JAVA进程占用高内存缘由分析与优化方法_.docx

    使用 jmap 命令可以查看 Java 进程的内存占用情况,包括堆的配置、垃圾回收器的选择、堆的使用情况等。从 jmap 的输出结果可以看到,Java 进程的堆的最大大小是 4096MB,新生代的大小是 1.25MB,永久代的大小是 82.0...

    jmap jstat等命令介绍

    `jmap`、`jstat`等命令是Java开发和运维人员的必备工具,它们提供了对JVM(Java虚拟机)内部状态的深入洞察,帮助我们了解内存使用、垃圾收集、线程状态等情况。下面将详细介绍这些命令及其在监控Tomcat内存使用情况...

    宕机、高cpu、慢sql等问题辅助工具v0.1.pdf

    使用jmap命令即时生成Heapdump文件 - **步骤**: - 查找目标进程的PID。 - 执行`jmap -dump:format=b,file=<文件名>.hprof <进程PID>`命令即时生成heapdump文件。 ##### 4. 使用MAT工具分析Dump文件 - **工具简介...

    系统稳定性——OutOfMemoryError常见原因及解决方法1

    - 使用jmap命令生成内存快照,然后使用Eclipse MAT等工具分析内存占用情况,找出问题。 除了上述解决方案,还有一些通用的优化措施: - 监控和分析应用的内存使用,了解内存增长趋势。 - 使用内存分析工具,如...

    MAT内存分析工具.zip

    在使用MAT时,首先需要获取Java应用程序的heap dump文件,这通常可以通过JVM的JMX监控或者使用jmap命令实现。然后在MAT中打开这个dump文件,进行分析。根据分析结果,开发者可以采取措施优化代码,避免内存泄漏,...

    weblogic dump 学习

    使用Jmap命令,可以通过如下方式生成Heapdump文件: ```bash jmap -dump:live,format=b,file=heapdump.hprof ``` 该命令将会连接到指定的Java进程(通过`<pid>`标识),并捕获当前活跃的对象到指定的文件(`heap...

    jmap Eclipse内存分析工具.rar

    1. **生成堆转储(Heap Dump)**: 使用`jmap -dump`命令,可以在运行时将Java堆的完整状态导出为一个二进制文件,通常以`.hprof`为扩展名。 2. **堆统计信息**: `jmap -histo`可以打印出堆中对象的数量和大小的直方...

    MemoryAnalyzer-1.0.0.20100520-win32.win32.x86.zip

    1. **生成heapdump**:首先需要在运行Java应用程序的JVM中触发heapdump文件的生成,这可以通过JVM参数或者使用jmap命令实现。 2. **导入heapdump**:在MAT中打开文件,选择导入heapdump文件。 3. **分析数据**:...

Global site tag (gtag.js) - Google Analytics