前言:
现时大家对“java dump文件怎么分析”大概比较关切,我们都想要分析一些“java dump文件怎么分析”的相关内容。那么小编也在网摘上收集了一些对于“java dump文件怎么分析””的相关资讯,希望朋友们能喜欢,咱们一起来了解一下吧!一、获取JVM的dump文件的两种方式在jvm启动的时候增加两个参数
1、-XX:+HeapDumpOnOutOfMemoryError 出现OOME时生成堆 dump
2、-XX:HeapDumpPath=/home/jvmlogs/ 红色是生成堆文件地址
发现程序异常通过执行指令,直接生成当前JVM的dump文件
1、jmap -dump:format=b,file=/home/admin/logs/heap.hprof 6214
其中红色的生成堆文件的保存地址,6214是进程的id(pid),format=b指定为二进制格式文件。heap如果比较大的话,就会导致这个过程比较耗时,并且执行的过程中为了保证dump的信息是可靠的,所以会暂停应用, 线上系统慎用。
二、查看jvm逻辑
1、命令:jmap -heap pid
显示堆的摘要信息,包括使用的GC算法、堆配置信息和各内存区域内存使用信息,如图
2、命令:jstat -gc PID 毫秒数 刷新次数 查看垃圾回收GC的情况,包括fullGC次数和耗时
比如命令PID jstat -gc 12880 5000 20 PID12880,5秒刷新一次,只刷新20次
三、JVM内存溢出定位
打开位于jdk安装目录下的bin目录下的jvisualvm.exe
3.1、点击左上角的文件菜单,看到装入选中,找到自己的堆文件所在的位子,可以看见如下图的界面,更改文件类型,选择堆Dump文件,最后打开3.2、正常的堆文件与异常的堆文件对比
异常的:
正常的:
3.3、查看异常错误的线程
标签: #java dump文件怎么分析 #java dump文件生成 #java生成dump文件 jmap #jvm dump