`

java-jvm-jhat

 
阅读更多

功能:可以分析jmap dump下的hprof文件

一般配合

 

 jmap -dump:format=b,file=dumpFileName pid

或者

jmap -histo:live 21711 | more

 

jmap -histo:live 21711 | more

 num     #instances         #bytes  class name
----------------------------------------------
   1:         38445        5597736  <constMethodKlass>
   2:         38445        5237288  <methodKlass>
   3:          3500        3749504  <constantPoolKlass>
   4:         60858        3242600  <symbolKlass>
   5:          3500        2715264  <instanceKlassKlass>
   6:          2796        2131424  <constantPoolCacheKlass>
   7:          5543        1317400  [I
   8:         13714        1010768  [C
   9:          4752        1003344  [B
  10:          1225         639656  <methodDataKlass>
  11:         14194         454208  java.lang.String
  12:          3809         396136  java.lang.Class
  13:          4979         311952  [S
  14:          5598         287064  [[I
  15:          3028         266464  java.lang.reflect.Method
  16:           280         163520  <objArrayKlassKlass>
  17:          4355         139360  java.util.HashMap$Entry
  18:          1869         138568  [Ljava.util.HashMap$Entry;
  19:          2443          97720  java.util.LinkedHashMap$Entry
  20:          2072          82880  java.lang.ref.SoftReference
  21:          1807          71528  [Ljava.lang.Object;
  22:          2206          70592  java.lang.ref.WeakReference
  23:           934          52304  java.util.LinkedHashMap
  24:           871          48776  java.beans.MethodDescriptor
  25:          1442          46144  java.util.concurrent.ConcurrentHashMap$HashEntry
  26:           804          38592  java.util.HashMap
  27:           948          37920  java.util.concurrent.ConcurrentHashMap$Segment
  28:          1621          35696  [Ljava.lang.Class;
  29:          1313          34880  [Ljava.lang.String;
  30:          1396          33504  java.util.LinkedList$Entry
  31:           462          33264  java.lang.reflect.Field
  32:          1024          32768  java.util.Hashtable$Entry
  33:           948          31440  [Ljava.util.concurrent.ConcurrentHashMap$HashEntry;



  

 class name是对象类型,说明如下:

B  byte
C  char
D  double
F  float
I  int
J  long
Z  boolean
[  数组,如[I表示int[]
[L+类名 其他对象

 

命令:

jhat  -J-Xmx1024m  D:\myProject\project\httpclientTest\java_pid4652.hprof

输出:

C:\Users\xinchun.wang>jhat  -J-Xmx1024m  D:\myProject\project\httpclientTest\java_pid4652.hprof
Reading from D:\myProject\project\httpclientTest\java_pid4652.hprof...
Dump file created Sun May 14 19:22:48 CST 2017
Snapshot read, resolving...
Resolving 818455 objects...
Chasing references, expect 163 dots.................................................................................................
Eliminating duplicate references....................................................................................................
Snapshot resolved.
Started HTTP server on port 7000
Server is ready.


 

 

浏览器输入:http://127.0.0.1:7000/

 

展示:

All Classes (excluding platform)

Package <Default Package>

class Test [0xff392c48]
class Test$OOMObject [0xff392bd8]
Other Queries

All classes including platform
Show all members of the rootset
Show instance counts for all classes (including platform)
Show instance counts for all classes (excluding platform)
Show heap histogram
Show finalizer summary
Execute Object Query Language (OQL) query

 

分享到:
评论

相关推荐

    深入理解Java虚拟机视频教程(jvm性能调优+内存模型+虚拟机原理)视频教程

    第54节虚拟机工具-jhat详解00:08:10分钟 | 第55节虚拟机工具-jstack详解00:10:19分钟 | 第56节可视化虚拟机工具-Jconsole内存监控00:07:09分钟 | 第57节可视化虚拟机工具-Jconsole线程监控00:12:18分钟 | 第58节...

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    / 76 4.2 JDK的命令行工具 / 76 4.2.1 jps:虚拟机进程状况工具 / 79 4.2.2 jstat:虚拟机统计信息监视工具 / 80 4.2.3 jinfo:Java配置信息工具 / 82 4.2.4 jmap:Java内存映像工具 / 82 4.2.5 jhat:...

    深入理解JVM内存结构及运行原理全套视频加资料.txt

    JVM是Java知识体系中的重要部分,对JVM底层的了解是每一位Java程序员深入Java技术领域的重要因素。本课程试图通过简单易懂的方式,系统的深入讲解JVM相关知识。包括JVM执行过程、虚拟机类加载机制、运行时数据区、GC...

    Java后端面试问题整理.docx

    • 了解JVM性能监控以及调优,会使用jps、jstack、jmap、jstat、jhat,了解内存泄露排查具体方法 • Java基础 • 熟练的使用Java语言进行面向对象程序设计,熟悉Java语言特性 • 熟悉常用排序,堆栈,树等数据结构和...

    jvm工具、参数调优&调试技巧

    4. jhat:虚拟机堆转储快照分析工具 3 5. jmap:内存映像工具 3 6. jstack:java堆栈跟踪工具 3 7. VisualVM:多合一故障处理工具 3 8. jconsole: 略 3 9. Memory Analyzer Tool(MAT)Eclipse插件 3 二、 JVM参数 ...

    99乘法表java源码-roadmap:路线图

    jhat, javap, … 1.1.4. 学习Java诊断工具 1.1.5. 自己编写各种outofmemory,stackoverflow程序 HeapOutOfMemory Young OutOfMemory MethodArea OutOfMemory ConstantPool OutOfMemory DirectMemory OutOfMemory ...

    Java虚拟机

    第一部分从宏观的角度介绍了整个Java技术体系、Java和JVM的发展历程、模块化,以及JDK的编译,这对理解本书后面内容有重要帮助。第二部分讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出...

    java性能调优工具命令大全.zip

    jvm性能调优工具命令大全.zip jps jstat jmap jhat jstack jinfo jps JVM Process Status Tool GChisto jvisualvm ...

    JVM命令行监测工具详解

    1.jps 2.jstack 3.jstat 4.jmap 5.jinfo 6.jcmd 7.jhat

    HotSpot实战

    《HotSpot实战》适合于已具有一定Java编程基础的读者,以及在Java或基于JVM的编程语言平台下进行各类软件开发的开发人员、测试人员和运维人员。对于JVM和编程语言爱好者来说,《HotSpot实战》也具有一定的学习参考...

    JVM命令行性能监控工具

    1、在 java 的 bin 目录下,jdk 提供了很多使用的工具,下面学习一些监控和故障处理的工具。 名称 作用 jps JVM process status tool,显示指定系统内所有的 HotSpot 虚拟机进程 jstat JVM statistics ...

    HotSpot实战高清版本

    本书深入浅出地讲解了 ...数的分发机制、VTABLE 和 ITABLE、异常表、虚拟机监控工具(如 jinfo、jstack、jhat、jmap 等)的实现原 理和开发方法、Attach 机制、基于 GUI 的 JVM 分析工具(如 MAT、VisualVM)等内容。

    shelmet:JVM堆转储查看器-Scala中的增强型Jahat

    头盔 始终欢迎请求请求和错误报告 ... []保留大小计算[]更好地显示scala / java集合类[]基于scala repl的新查询API []适当的测试(目前代码覆盖率约为90%) 安装 SHelmet被打包为一个独立的jar,包括其所

    Windouws 64 位Tomcat7.0.40 + 64位jdk1.7.0u21 绿色版.part1

    │ │ jhat.exe │ │ jinfo.exe │ │ jli.dll │ │ jmap.exe │ │ jps.exe │ │ jrunscript.exe │ │ jsadebugd.exe │ │ jstack.exe │ │ jstat.exe │ │ jstatd.exe │ │ jvisualvm.exe │ │ keytool....

    leetcode回朔与贪心的题目-interview:面试官的编程

    jhat 2.5.6 jstack 2.5.7 jConsole 3. 多线程 3.1 线程的通信与状态转化 3.2 线程池及其实现 3.3 JUC 3.4 AQS 与 CAS 3.5 性能调优 4. 数据结构 4.1 Hash 表 4.2 二叉树 4.3 堆 4.4 图 4.5 AVL 树 4.6 红黑树 4.7 B ...

Global site tag (gtag.js) - Google Analytics