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
参考链接
Core Dump 核心转储-进程异常分析jmap命令相关推荐
- Core Dump核心转储
核心转储(core dump),在汉语中有时戏称为吐核,是操作系统在进程收到某些信号而终止运行时,将此时进程地址空间的内容以及有关进程状态的其他信息写出的一个磁盘文件.这种信息往往用于调试. 概述 编 ...
- java 生成dump_java dump文件怎么生成和分析-JMAP用法详解
jmap是java自带的工具 1. 查看整个JVM内存状态 jmap -heap [pid] 2. 查看JVM堆中对象详细占用情况 jmap -histo [pid] 3. 导出整个JVM 中内存信息 ...
- 通过gdb core dump方法查看程序异常时的堆栈信息
在Linux下可通过core文件来获取当程序异常退出(如异常信号SIGSEGV, SIGABRT等)时的堆栈信息.core dump叫做核心转储,当程序运行过程中发生异常的那一刻的一个内存快照,操作系 ...
- Linux上Core Dump文件的形成和分析
Core,又称之为Core Dump文件,是Unix/Linux操作系统的一种机制,对于线上服务而言,Core令人闻之色变,因为出Core的过程意味着服务暂时不能正常响应,需要恢复,并且随着吐Core ...
- java dump文件怎么生成和分析-JMAP用法
jmap是java自带的工具 1. 查看整个JVM内存状态 jmap -heap [pid] 2. 查看JVM堆中对象详细占用情况 jmap -histo [pid] 3. 导出整个JVM 中内存信息 ...
- java项目内存分析jmap命令+MAT工具
一.分析背景 在服务器上运行java项目服务时,由于服务所实现的功能导致每个项目在消耗服务器系统内存上有所差异.如果在项目中某个功能模块中作了不良好的操作导致占用的资源未能及时释放就会导致内存泄露,服 ...
- Linux进程内存分析pmap命令
名称: pmap - report memory map of a process(查看进程的内存映像信息)pmap命令用于报告进程的内存映射关系,是Linux调试及运维一个很好的工具. ...
- linux rss 内存分析,Linux进程内存分析pmap命令
名称: pmap - report memory map of a process(查看进程的内存映像信息) 用法 pmap [ -x | -d ] [ -q ] pids... pmap -V 选项 ...
- 详谈 UNIX 环境进程异常退出
原文链接:http://www.ibm.com/developerworks/cn/aix/library/1206_xiejd_unixexception/ 详谈 UNIX 环境进程异常退出 本文详 ...
最新文章
- Android在桌面上添加开关,多键开关 Andromax v1.1.7
- 【动态库链接】python调用C
- linux内核编译感想,Linux内核编译小结
- 电气论文实现:深度学习分位数回归实现电力负荷区间预测
- Microsoft Windows Workflow Foundation 入门
- 为什么每次有人大声通电话时,我就很烦躁...
- kibana 更新 索引模式_升级 Kibana - Kibana 中文文档
- Python+OpenCV:图像去噪(Image Denoising)
- windows连接远程服务器报错‘SSH‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件 解决方案
- 贪吃蛇程序 php,PHP下利用PHPMailer Web程序【tofacebook.com】 - 贪吃蛇
- position四个属性值的关系
- oracle11g卸载出错 无法删除文件,文件正在使用中
- 京东数据分析工具推荐(京东第三方数据平台)
- SpringBoot整合Redis实现排行榜功能
- 程序员转行干什么好呢
- Unity3D-设置地形
- C语言:输入三角形边长,求面积。
- 大学Java基础课程设计——网络聊天室
- [考研408]数据结构算法题——快速排序模板
- 创业公司CTO/技术总监的岗位职责及任职要求
热门文章
- 关于可选链操作符(?.)
- NumPy(一.NumPy的介绍)
- 泡MM经典语录,女的回答更绝!
- 退出python三种方法
- 微信文件夹的dat文件怎么打开_微信dat文件怎么打开?
- 微信公众号自定义菜单栏绑定关联小程序
- 【音频驱动】Linux之ALSA声卡、WAV文件相关概念
- OpenKruise 成为 CNCF 孵化项目:为大规模采用 Kubernetes 打开大门
- 康佳液晶电视(非智能)Mstar V56 芯片
- 无法启动游戏 因为计算机,WeGame只需五步即可解决游戏无法启动的问题!