`

'jmap' - JVM Heap Dump Tool

    博客分类:
  • Java
阅读更多
"jmap" - Memory Map: Prints shared object memory maps or heap memory details of a given JVM process or a Java core file on the local machine or on a remote machine through a debug server. "jmap" supports several functions with these syntaxes:

jmap [ option ] pid
jmap [ option ] executable core
jmap [ option ] [server-id@]remote-hostname-or-IP

<no option>
    When no option is used jmap prints shared object mappings.
    For each shared object loaded in the target VM, start address,
    the size of the mapping, and the full path of the shared object
    file are printed. This is similar to the Solaris pmap utility.

-dump:[live,]format=b,file=<filename>
    Dumps the Java heap in hprof binary format to filename. The live
    suboption is optional. If specified, only the live objects in the
    heap are dumped. To browse the heap dump, you can use jhat (Java
    Heap Analysis Tool) to read the generated file.

-finalizerinfo
    Prints information on objects awaiting finalization.

-heap
    Prints a heap summary. GC algorithm used, heap configuration and
    generation wise heap usage are printed.

-histo[:live]
    Prints a histogram of the heap. For each Java class, number of
    objects, memory size in bytes, and fully qualified class names
    are printed. VM internal class names are printed with '*' prefix.
    If the live suboption is specified, only live objects are counted.

-permstat
    Prints class loader wise statistics of permanent generation of
    Java heap. For each class loader, its name, liveness, address,
    parent class loader, and the number and size of classes it has
    loaded are printed. In addition, the number and size of interned
    Strings are printed.

-F
    Force. Use with jmap -dump or jmap -histo option if the pid does
    not respond. The live suboption is not supported in this mode.

But the "jmap" tool included in the Windows version of JDK 1.6 only supports functions to print histogram of Java object heap and generate a heap dump of a given JVM process:

C:\herong>\Progra~1\java\jdk1.6.0_02\bin\jmap

Usage:
    jmap -histo <pid>
      (to print histogram of java object heap of the JVM process)
    jmap -dump:<dump-options> <pid>
      (to dump java heap of the JVM process)

    dump-options:
      format=b     binary default
      file=<file>  dump heap to <file>

    Example: jmap -dump:format=b,file=heap.bin <pid>

See the next section on how to use "jmap" to print heap histogram and to generate heap dump.
分享到:
评论

相关推荐

    jmap -dump:format=b,file=heapdump.hprof Pid堆栈文件分析工具

    本文将详细讲解如何使用`jmap`中的`-dump:format=b,file=heapdump.hprof`选项来生成堆栈文件,并利用MAT(Memory Analyzer Tool)进行分析。 首先,`jmap`是Java HotSpot虚拟机的一个命令行工具,它可以提供关于JVM...

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

    例如:jmap -dump:format=b,file=heapdump 21711 四、jhat jhat 主要用来分析堆dump文件。语法格式如下:jhat [options] [dumpfile]。指令行参数选项解释如下: * -J options 传递给 JVM 的参数 * -port 端口号 ...

    heapdump分析工具

    要生成heapdump,可以使用JVM内置的命令行选项,例如`-XX:+HeapDumpOnOutOfMemoryError`来配置JVM,在出现OOM错误时自动创建heapdump,或者使用`jmap`工具(需要与JDK配套)手动触发dump: ```bash jmap -dump:...

    jvm信息jmap使用的基本方法教程

    jmap -dump:live,format=b,file=heap.bin ``` 其中`live`表示只导出活动对象,`format=b`指定二进制格式,`file=heap.bin`是输出文件名。 7. **强制dump或histogram**: 当JVM无响应时,可以使用`-F`选项强制...

    jmap Eclipse内存分析工具.rar

    而Eclipse Memory Analyzer Tool (MAT)是一款强大的图形化内存分析工具,它能够帮助我们分析heapdump文件,找出内存泄漏的源头。本篇文章将详细介绍`jmap`和MAT的使用及其在内存分析中的作用。 首先,`jmap`是Java ...

    javacore\heapdump文件分析工具

    而`heapdump`文件则是JVM在运行过程中,通过Java的`jmap`命令或者`VisualVM`等工具手动触发生成的,它记录了JVM堆内存的详细状态,包括对象实例、类加载器、垃圾收集信息等。`ha`(Heap Analysis)工具则用于分析`...

    Jvm堆栈dump文件分析

    1. **获取dump文件**:当JVM出现问题时,通过JVM的命令行选项(如`-XX:+HeapDumpOnOutOfMemoryError`)或者使用如`jmap`命令生成heap dump文件。 2. **安装HeadAnalyzer**:解压`ha414.jar`文件,这是一个包含...

    mat(mac)---jvm内存分析工具

    MAT通过深入分析堆转储(heap dump)文件,提供了丰富的视图和功能,使内存管理变得更加直观和高效。 1. **内存泄漏检测**: 内存泄漏是导致Java应用性能下降和系统资源耗尽的主要原因之一。MAT通过分析堆转储文件...

    Tomcat教程-JVM相关工具.docx

    jmap -dump:format=b,file=&lt;dump_file&gt; ``` 6. **jhat (Java Heap Analyzer Tool)**: jhat是与jmap配合使用的命令,用于分析由jmap生成的堆转储文件,以找出内存泄漏等问题。 7. **jconsole (Java Monitoring...

    IBM HeapDump Analyser

    IBM HeapDump Analyser是一款专为Java开发者设计的强大内存分析工具,它主要用于诊断和解决Java应用程序中的内存泄漏问题。在Java应用程序运行过程中,如果出现内存占用过高或者内存泄露的情况,堆转储(Heap Dump)...

    JAVA-JVM参数讲解

    - **概述**:`jmap`(JVM Memory Map)主要用于获取dump文件(堆转储快照文件),同时也可以获取目标Java进程的内存相关信息,如Java堆各区域的使用情况、堆中对象的统计信息、类加载信息等。 - **基本用法**: - `...

    JVM分析工具

    例如,首先使用`jstat`监控JVM的实时状态,发现可能的性能问题后,用`jmap`生成heap dump,最后借助MAT进行深入的内存分析。通过这种方式,开发者可以找出内存泄漏、优化内存分配、改进垃圾收集效率,进而提升Java...

    MemoryAnalyzer-JVM

    例如,使用`jmap -dump:format=b,file=heap_dump.hprof &lt;pid&gt;`命令生成heap dump,然后在MAT中打开这个文件进行分析。 MAT的压缩包包含了`epl-v10.html`和`notice.html`等文件,它们可能是指软件的许可证协议和用户...

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

    3. **GC日志分析**:`jmap -heap &lt;pid&gt;`可以输出JVM的堆配置信息以及垃圾收集的状态。 4. **堆内存统计**:`jmap -finalizerinfo &lt;pid&gt;`可以查看等待Finalizer线程处理的对象,这有时是内存泄漏的一个迹象。 当...

    2015-09-12-Java虚拟机详解----JVM常见问题总结【面试必问】

    3. **堆dump分析**:通过-jmap或JVisualVM生成heap dump文件,使用MAT(Memory Analyzer Tool)等工具分析内存泄漏。 五、JVM热点代码优化 1. **JIT编译**:JVM在运行过程中会将频繁执行的热点代码编译为机器码,...

    jvm常用命令工具

    为了快速定位并解决问题,我们需要收集多种类型的运行时信息,包括但不限于系统日志、堆转储文件(heap dump)、线程转储文件(thread dump)以及垃圾收集日志(GC log)等。Java虚拟机(JVM)提供了一系列内置的...

    java 内存溢出分析工具 HeapAnalyzer

    或者使用`jmap -dump:format=b,file=heap.dump &lt;pid&gt;`命令手动触发dump。 2. **加载Heap Dump** 使用HeapAnalyzer打开生成的heap dump文件。在工具界面中选择“File” -&gt; “Open”,找到并加载dump文件。 3. **...

    带你全面理解JVM,掌握常规JVM调优-JVM.zip

    5. jhat:分析heap dump文件。 通过以上对JVM的理解和调优实践,我们可以有效地提升Java应用程序的性能,减少资源消耗,确保系统的稳定运行。在实际开发中,要结合具体应用的特点和需求,灵活运用这些知识,才能...

    性能分析工具之-- Memory Analyzer Tool(MAT)

    1. **生成heap dump**:在JVM中设置`-XX:+HeapDumpOnOutOfMemoryError`参数,当出现内存溢出时,JVM会自动创建heap dump文件;或者通过`jmap`命令手动触发dump。 2. **打开MAT**:启动MAT,导入生成的heap dump文件...

Global site tag (gtag.js) - Google Analytics