Core Dump 核心转储-进程异常分析jmap命令

Core Dump 核心转储

一、简介

程序运行过程中异常退出定位,查看到程序异常时的所有信息,变量值、栈信息、内存数据,程序异常时的运行位置(甚至记录代码行号)等等
jdk/bin目录下
./jmap –dump:format=b,file=[文件名] PID
生成文件为二进制文件,无法直接查看,需要借助jvm分析工具。

自动生成:
1.2自动生成dump文件:

-XX:+HeapDumpOnOutOfMemoryError
当OutOfMemoryError发生时自动生成 Heap Dump 文件。

这是一个非常有用的参数,因为当你需要分析Java内存使用情况时,往往是在OOM(OutOfMemoryError)发生时。

-XX:+HeapDumpBeforeFullGC
当 JVM 执行 FullGC 前执行 dump。

-XX:+HeapDumpAfterFullGC
当 JVM 执行 FullGC 后执行 dump。

-XX:+HeapDumpOnCtrlBreak
交互式获取dump。在控制台按下快捷键Ctrl + Break时,JVM就会转存一下堆快照。

-XX:HeapDumpPath=d:\test.hprof
指定 dump 文件存储路径。
注意:JVM 生成 Heap Dump 的时候,虚拟机是暂停一切服务的。如果是线上系统执行 Heap Dump 时需要注意。
2,查看dump文件
推荐使用jdk自带的visualVM,其在JDK_HOME/bin目录下,可搜:jvisualvm。注意:windows系统是jvisualvm.exe文件。

参考链接

####二、jmap命令

jmap命令可以获得运行中的jvm的堆的快照,从而可以离线分析堆,以检查内存泄漏,检查一些严重影响性能的大对象的创建,检查系统中什么对象最多,各种对象所占内存的大小等等

jmap [options] pid
-dump:[live,]format=b,file= --dump堆到文件,live指明是活着的对象,file指定文件名
因为在dump:live前会进行full gc,因此不加live的堆大小要大于加live堆的大小
-finalizerinfo 打印等待回收对象的信息
-heap 打印堆总结
-histo[:live] 打印堆的对象统计,包括对象数、内存大小等等
-permstat 打印java堆perm区的classloader统计 -F 强制,在jmap -dump或jmap -histo中使用,如果pid没有相应的回复
-J 提供jvm选项,如:-J-Xms256m

参考链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用:jmap -dump:format=b,file=heapdump.hprof Pid;生成一个关于此进程的堆栈使用情况;使用工具做出对比。 引用:使用jmap可以查看某个Java进程中每个对象有多少个实例,占用多少内存,命令格式: jmap -histo 进程id 示例说明 jmap -histo 12538 1 。 引用:使用pmap可以查看某一个进程(非java的也可以)的内存使用使用情况,命令格式: pmap 进程id 示例说明 pmap 12358 。 问题:请告诉我,jmap -dump的作用是什么? jmap -dump命令的作用是生成一个关于指定Java进程的堆栈使用情况的快照。通过使用该命令,可以将堆栈信息保存到一个文件中,通常是以.hprof格式保存。这个文件可以用于后续的分析和对比。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [jmap -dump:format=b,file=heapdump.hprof Pid堆栈文件分析工具](https://download.csdn.net/download/qizonghui/10521894)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Linux分析Java程序内存(pmap、jmap、jstat)](https://blog.csdn.net/ImmutableWxy/article/details/106923638)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值