`
RepublicW
  • 浏览: 82338 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

jmap

jvm 
阅读更多
1.  jmap -heap pid
         查看java 堆(heap)使用情况
   jmap -J-d64 -dump:file=dump.bin pid;生成 heapdump 文件分析
        using thread-local object allocation.
        Parallel GC with 4 thread(s)          //GC 方式          Heap Configuration:       //堆内存初始化配置
         MinHeapFreeRatio=40     //对应jvm启动参数-XX:MinHeapFreeRatio设置JVM堆最小空闲比率(default 40)
         MaxHeapFreeRatio=70  //对应jvm启动参数 -XX:MaxHeapFreeRatio设置JVM堆最大空闲比率(default 70)
         MaxHeapSize=512.0MB  //对应jvm启动参数-XX:MaxHeapSize=设置JVM堆的最大大小
         NewSize  = 1.0MB          //对应jvm启动参数-XX:NewSize=设置JVM堆的‘新生代’的默认大小
         MaxNewSize =4095MB   //对应jvm启动参数-XX:MaxNewSize=设置JVM堆的‘新生代’的最大大小
         OldSize  = 4.0MB            //对应jvm启动参数-XX:OldSize=<value>:设置JVM堆的‘老生代’的大小
         NewRatio  = 8         //对应jvm启动参数-XX:NewRatio=:‘新生代’和‘老生代’的大小比率
         SurvivorRatio = 8    //对应jvm启动参数-XX:SurvivorRatio=设置年轻代中Eden区与Survivor区的大小比值
          PermSize= 16.0MB       //对应jvm启动参数-XX:PermSize=<value>:设置JVM堆的‘永生代’的初始大小
          MaxPermSize=64.0MB  //对应jvm启动参数-XX:MaxPermSize=<value>:设置JVM堆的‘永生代’的最大大小

          Heap Usage:               //堆内存分步
          PS Young Generation
          Eden Space:          //Eden区内存分布
            capacity = 20381696 (19.4375MB)  //Eden区总容量
            used     = 20370032 (19.426376342773438MB)  //Eden区已使用
            free     = 11664 (0.0111236572265625MB)  //Eden区剩余容量
            99.94277218147106% used  //Eden区使用比率
         From Space:        //其中一个Survivor区的内存分布
             capacity = 8519680 (8.125MB)
             used     = 32768 (0.03125MB)
             free     = 8486912 (8.09375MB)
             0.38461538461538464% used
        To Space:            //另一个Survivor区的内存分布
            capacity = 9306112 (8.875MB)
            used     = 0 (0.0MB)
            free     = 9306112 (8.875MB)
            0.0% used
        PS Old Generation  //当前的Old区内存分布
            capacity = 366280704 (349.3125MB)
            used     = 322179848 (307.25464630126953MB)
            free     = 44100856 (42.05785369873047MB)
            87.95982001825573% used
        PS Perm Generation  //当前的 “永生代” 内存分布
            capacity = 32243712 (30.75MB)
            used     = 28918584 (27.57891082763672MB)
            free     = 3325128 (3.1710891723632812MB)
            89.68751488662348% used

      2. jmap -histo pid

        查看堆内存(histogram)中的对象数量,大小

                num     #instances         #bytes  class name

                序号         实例个数            字节数       类名   
        ----------------------------------------------
         1:       3174877      107858256  [C
         2:       3171499       76115976  java.lang.String
         3:       1397884       38122240  [B
         4:        214690       37785440  com.tongli.book.form.Book
         5:        107345       18892720  com.tongli.book.form.Book
         6:         65645       13953440  [Ljava.lang.Object;
         7:         59627        7648416  <constMethodKlass>
         8:        291852        7004448  java.util.HashMap$Entry
         9:        107349        6871176  [[B

         ..........

        total       9150732      353969416

      3. jmap - dump  pid

          将内存使用的详细情况输出到文件

          jmap -dump:format=b,file=m.datpid

           用jhat命令可以参看 jhat -port 5000 m.dat
        在浏览器中访问:http://localhost:5000/  查看详细信息

       sun 官方文档  http://download.oracle.com/javase/1.5.0/docs/tooldocs/share/jmap.html


class name对应的就是Class文件里的class的标识
B代表byte
C代表char
D代表double
F代表float
I代表int
J代表long
Z代表boolean
前边有[代表数组,[I 就相当于int[]

对象用[L+类名表示
分享到:
评论

相关推荐

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

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

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

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

    jmap Eclipse内存分析工具.rar

    **jmap Eclipse内存分析工具详解** 在Java开发中,内存管理是至关重要的,尤其是在大型应用或者长时间运行的服务中,内存泄漏可能导致系统性能下降甚至崩溃。为了有效地检测和诊断内存问题,Oracle提供了`jmap`...

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

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

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

    `jmap`命令是JDK自带的一个强大工具,它能够帮助开发者深入理解Java应用程序的内存使用情况,尤其是堆内存的分配和垃圾回收。本文将详细讲解如何使用`jmap`中的`-dump:format=b,file=heapdump.hprof`选项来生成堆栈...

    JMAP代理服务器jmap-perl.zip

    jmap-perl 是 JMAP 代理服务器的 Perl 实现,Perl JMAP 后端可以与 IMAP 和 SMTP 服务器通许,允许在邮件系统上替换 JMAP 接口。为了高效,初始化实现要求所有服务器支持 CONDSTORE 扩展(RFC4551/FRC7162)。提供一个...

    JSON邮件访问协议JMAP.zip

    JMAP 全称是 JSON 邮件访问协议。新基于 JSON 的 API 用于实现与邮件服务器之间的邮件同步,可用于替换 IMAP。如果服务器支持 IMAP ,很容易就可以扩展对 JMAP 的支持。 标签:JMAP

    jmap、jstack、jstat组合使用定位jvm问题.txt

    jmap、jstack、jstat组合使用定位jvm问题

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

    ### 使用jmap分析Java程序性能问题 在Java开发与维护过程中,经常遇到与内存相关的性能问题及故障。这些问题包括但不限于内存泄漏、频繁的垃圾回收、内存溢出等,它们不仅影响程序的稳定运行,还可能导致服务中断。...

    jmap jstat等命令介绍

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

    C++入门经典(第三版)_jmap

    - **标题**:“C++入门经典(第三版)_jmap”:从标题来看,本书是关于C++编程语言的一本入门级教材,为第三版,加入了“jmap”的内容。“jmap”通常用于Java环境下的内存映射工具,这里可能是指书中涉及了类似的...

    jmap工具~MA.zip

    《深入解析Java jmap工具与内存分析》 在Java开发中,内存管理和性能优化是至关重要的环节。"jmap"工具作为Java虚拟机(JVM)的一部分,为开发者提供了强大的内存分析功能,尤其是在处理内存溢出和理解Java运行时...

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

    Jmap+EclipseMAT 排查内存泄漏的好工具 Jmap 和 EclipseMAT 是两种非常有用的工具,用于排查 Java 应用程序中的内存泄漏问题。下面是对这两个工具的详细介绍和使用方法。 Jmap Jmap 是一个命令行工具,用于输出 ...

    JVM监控工具介绍jstack_jconsole_jinfo_jmap_jdb_jstat

    本文将介绍五种JVM监控工具:jstack、jconsole、jinfo、jmap和jdb。 jstack jstack是一款命令行工具,用于生成Java应用程序的崩溃dump文件的信息。该工具可以attach到正在运行的Java应用程序中,查看当前运行的...

    java诊断与调优常用命令jmap、jstack、jstat使用实战.pdf

    本文主要介绍了四个Java命令行工具:jps、jmap、jstack和jstat,它们是Java性能分析和故障排查的基础。 1. **jps (Java Process Status)**: 用于查看运行在本地机器上的Java进程ID,这对于其他命令来说是必需的输入...

    JMAP的JavaScript客户端JMAP-JS.zip

    JMAP-JS 是 JMAP 邮件,联系人和日历模型的 JavaScript 实现,是 JMAP 的 JavaScript 客户端。 标签:JMAPJS

    JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jstat.doc

    本文将深入探讨六种关键的JVM监控工具——`jstack`, `jconsole`, `jinfo`, `jmap`, `jdb`, `jstat`——它们各自的功能、应用场景及如何帮助开发者和运维人员诊断并解决JVM中的复杂问题。 #### 1. jstack —— Java ...

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

    【JVM信息jmap使用的基本方法教程】 JVM(Java Virtual Machine)是Java程序运行的基础,它负责解析字节码并执行程序。为了优化JVM的性能,开发人员需要掌握一系列工具,其中就包括jmap。jmap是JDK自带的一个命令行...

Global site tag (gtag.js) - Google Analytics