【java】JVM性能调优监控工具、可视化在线内存分析工具

jmap是jdk中提供的一个用来监视进程运行中的jvm物理内存的占用情况的工具。该进程内存内,所有对象的情况,例如产生了哪些对象,对象数量。当系统崩溃时,jmap 可以从core文件或进程中获得内存的具体匹配情况,包括Heap size, Perm size等。

使用jmap会影响线上运行的应用,所以尽量不要在线上执行此命令。

$  jmap -histo pid | head -n 10              查看前10位

$  jmap -histo pid | sort -k 2 -g -r        查看对象数最多的对象,按降序输出

$  jmap -histo pid | sort -k 3 -g -r        查看内存的对象,按降序输出

通过这三个命令,我们可以很清楚的看到当前进程中对象的大小及个数,从而辅助我们进行分析


hprof 文件是 Java 的 内存快照文件(Heap Profile 的缩写),格式为java_pid*.hprof

用于分析 OOM: OutOfMemoryError(堆)内存不足错误,是 JVM 设置 -XX:+HeapDumpOnOutOfMemoryError 参数时打印的内容


$ jmap -dump:format=b,file=java_${pid}.hprof   ${pid}

使用jmap把堆信息导出,生成堆转储快照dump文件,并使用可视化工具分析

以hprof二进制格式转储Java堆到指定filename的文件中

live子选项是可选的。如果指定了live子选项,堆中只有活动的对象会被转储

想要浏览heap dump,你可以使用jhat(Java堆分析工具)读取生成的文件

这个命令执行,JVM会将整个heap的信息dump写入到一个文件,heap如果比较大的话,就会导致这个过程比较耗时,并且执行的过程中为了保证dump的信息是可靠的,所以会暂停应用, 线上系统慎用。



jdk命令行工具

https://g.yuque.com/keep_running/java/yu3mqz?language=en-us


JVM 配置简洁说明

https://www.jianshu.com/p/cd788cc16424


G1 GC:一个神奇的 JVM 参数,减少你的内存消耗

https://www.jianshu.com/p/ff593b506237


Java常用分析工具之jmap

https://www.bo56.com/java%E5%B8%B8%E7%94%A8%E5%88%86%E6%9E%90%E5%B7%A5%E5%85%B7%E4%B9%8Bjmap/

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

https://cloud.tencent.com/developer/article/1543603?from=information.detail.jstack%E6%80%8E%E4%B9%88%E4%BD%BF%E7%94%A8

三个实例演示 Java Thread Dump 日志分析

https://www.cnblogs.com/zhengyun_ustc/archive/2013/01/06/dumpanalysis.html

Java Platform, Standard Edition Tools Reference

https://docs.oracle.com/javase/8/docs/technotes/tools/unix/




##############################################################


可视化在线内存分析工具(Java Memory Head Dump Analyzer Tool)

https://blog.csdn.net/weixin_30484149/article/details/112693697

https://heaphero.io/index.jsp


1. 为方便上传,可先将dump文件压缩成 zip 或者 gz 格式

2. 可将分析结果导出成PDF,便于下载分析




How to fix ?

To see our recommendations, please purchase Enterprise Edition.

https://heaphero.io/heap-pricing.jsp



HeapHero有何不同?

https://www.codenong.com/cs106805848/

使用HeapHero分析JVM-OOM日志

https://www.pianshen.com/article/8017691649


Java 的 内存快照 hprof文件查看

https://cloud.tencent.com/developer/article/1677249


Jprofile查看hprof文件

https://cloud.tencent.com/developer/article/1633775

jprofile解析dump文件使用详解

https://cloud.tencent.com/developer/article/1633461


如何分析.hprof文件?(How do I analyze a .hprof file?)

https://www.it1352.com/957587.html

你可能感兴趣的:(【java】JVM性能调优监控工具、可视化在线内存分析工具)