【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