利用jmap和MAT等工具查看JVM运行时堆内存

jmap

JDK自带了一部分工具得以扶持大家查阅JVM运转的堆内部存款和储蓄器景况,常用的是jmap命令

图片 1

假定想深造Java工程化、高质量及布满式、深入显出。微服务、Spring,MyBatis,Netty源码剖析的仇人可以加我的Java高等沟通:854630135,群里有Ali大牌直播批注工夫,以及Java大型互连网手艺的录像无偿享用给我们。

jmap -heap <pid> 打字与印刷堆的施用情形

图片 2

那么,从这么些输出中大家也能够差不多看出堆的结构,分为Young Generation 和 Old Generation

Young Generation又被分割为:Eden Space , From Space 和 To Space

可以见到这里To区是干净的,还未被接纳,From区已经应用了95%了

jmap -histo[:live] <pid> 打字与印刷类的实例数量、占用的内部存款和储蓄器、类的称呼,经常大家并无需看有着的,只需求看前几条就能够

图片 3

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

以hprof二进制格式dump堆的应用情况(PS:相当于生成八个快速照相,后续大家能够对那么些快速照相文件进行深入分析)

图片 4

Memory Analyzer

文本dump下来之后,能够选拔Eclipse的MAT插件实行查看

一经通常开支用的是eclipse的话,能够间接设置那几个插件,若是或不是的话,这些插件也能够单独运行

解压之后双击MemoryAnalyzer.exe就能够运营

图片 5

张开刚才的heap.bin文件

图片 6图片 7

可以见见上面有八个选项卡,包蕴能够实践的操作和表格

先看率先个Histogram

一经想上学Java工程化、高品质及布满式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的相爱的人能够加作者的Java高端调换:854630135,群里有Ali大腕直播讲明技能,以及Java大型网络能力的摄像无需付费享用给我们。

图片 8

鉴于此地是不管运维的二个工程,并从未出现内部存款和储蓄器泄漏之类的难点,所以这里看见的都是部分基础的java类

翻看援用

图片 9

Dominator Tree 能够看出biggest object以及它们所占内部存款和储蓄器的比重

图片 10

大家顶级一流的找,可以找到源文件,然后解析代码,最后一定到标题之根源

jconsole

能够查看本地的长河,也足以查阅远程主机上的进度

图片 11

例如:jconsole 192.168.102.16:9105

图片 12图片 13

或许地面

图片 14

其它

图片 15

万一想学习Java工程化、高质量及遍及式、深入显出。微服务、Spring,MyBatis,Netty源码分析的敌人能够加笔者的Java高档调换:854630135,群里有Ali大牌直播讲授工夫,以及Java大型互连网手艺的录像免费享用给我们。

本文由365bet体育在线官网发布于网络工程,转载请注明出处:利用jmap和MAT等工具查看JVM运行时堆内存

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。