Linux中生成 Core Dump 文件的方法
1 什么是 Core Dump
Core Dump 又叫核心转储。在程序运行过程中发生异常时,将其内存数据保存到文件中,这个过程叫做 Core Dump。
2 Core Dump 的作用
在开发过程中,难免会遇到程序运行过程中异常退出的情况,这时候想要定位哪里出了问题,仅仅依靠程序自身的信息打印(日志记录)往往是不够的,这个时候就需要 Core Dump 文件来帮忙了。
一个完整的 Core Dump 文件实际上相当于恢复了异常现场,利用 Core Dump 文件,可以查看到程序异常时的所有信息,变量值、栈信息、内存数据,程序异常时的运行位置(甚至记录代码行号)等等,定位所需要的一切信息都可以从 Core Dump文件获取到,能够非常有效的提高定位效率。
3 如何生成 Core Dump

前UAP主要使用IBM jdk和SUN jdk,当中间件发生内存溢出时,IBM jdk会自动生成dump文件,而SUN jdk不会生成,所以我们通常推荐使用IBMjdk。
但在有些时候,我们需要分析jvm内存使用情况,例如各分区占用率,哪些对象占用等,需要我们手动生成dump文件,以下说明linux下IBMjdk和SUNjdk手工生成dump文件方法。
第一步:查看进程PID (命令为:ps –ef|grep java);

第二步:进入到jdk目录下 (命令为:cd/data/jdk1.6.0_27)
进入到bin目录下 (命令为:cd bin)

第三部:分析JVM内存
./jmap –heap pid 查看整个JVM的内存使用情况,例如:

./jmap –histo pid 查看JVM中对象内存占用情况

导出整个JVM中的内存信息
jdk/bin目录下生成文件 (命令为:./jmap –dump:format=b,file=[文件名])
例如:./jmap –dump:format=b,file=0807.txt 27054

生成文件为二进制文件,无法直接查看,需要借助jvm分析工具。

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

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

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

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

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

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

  5. -XX:HeapDumpPath=d:\test.hprof
    指定 dump 文件存储路径。
    注意:JVM 生成 Heap Dump 的时候,虚拟机是暂停一切服务的。如果是线上系统执行 Heap Dump 时需要注意。

2,查看dump文件
推荐使用jdk自带的visualVM,其在JDK_HOME/bin目录下,可搜:jvisualvm。注意:windows系统是jvisualvm.exe文件。
然后装入快照即可。

linux下生成dump文件方法及设置相关推荐

  1. linux手动生成dump文件权限不足_linux下生成dump文件方法及设置

    https://andyniu.iteye.com/blog/1965571 Linux中生成 Core Dump 文件的方法 1 什么是 Core Dump Core Dump 又叫核心转储.在程序 ...

  2. Windows下生成dump文件的三种方式

    文章目录 前言 一.什么是dump文件? 概述 dump分类 内核模式Dump 用户模式Dump 二.dump生成方式 实现方法 方法一:修改注册表 参数说明 方法二:生动创建转储文件 方法三:通过代 ...

  3. linux .bin文件处理,linux下制作.bin文件方法简介

    linux 下制作二进制 .bin 的文件 制做方法是使用cat 命令将执行脚本和打包文件同事放到一个.bin的文件里 这样安装的时候只要使用一个包,直接执行该包即可安装完毕,简单方便. 例:制作安装 ...

  4. linux下生成coredump文件

    1产生core文件方法 产生coredump的条件,首先需要确认当前会话的ulimit –c,若为0,则不会产生对应的coredump,需要进行修改和设置. ulimit -c unlimited ( ...

  5. Qt: Linux下生成.xlsx文件(excel表格文件)

    Qt开发,项目中有个功能是要将数据导出至excel文件,也就是.xlsx或.wps格式文件. 查询一番,需要用到一个库 Qt Xlsx,方法如下: 1. 下载源码: GitHub - dbzhang8 ...

  6. linux手动生成dump文件权限不足_来玩一玩Linux常见命令~

    写在前面: 小伙伴儿们,大家好!上一篇我们学习了Linux相关部署方面问题: 这次我们一起来玩一玩常见的Linux相关命令,有点意思: 思维导图: 1,命令格式: 我们刚打开FinalShell,可能 ...

  7. linux下查看十六进制文件方法

    转载自CSDN博客:http://blog.csdn.net/ljasdf123/article/details/8531087 1. 在 vi 或 vim 的命令状态下 :%!xxd         ...

  8. Linux生成xlsx格式文件,linux下生成excel文件

    ps: od命令系统默认的显示方式是八进制,这也是该命令的名称由来(Octal Dump).但这不是最有用的显示方式,用ASCII码和十六进制组合的方式能提供更有价值的信息输出. 它们对于访问或可视地 ...

  9. LINUX下常见搜索文件方法

     1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find <指定目录> <指定条件> <指定动作 ...

最新文章

  1. 【Android-功能】Android应用增量更新
  2. 【vue.js】vue后台项目权限功能实现思路
  3. PowerBI随笔(4)-关系模型与报表-1
  4. 后门怎么写隐蔽java_用Java写黑软-后门篇
  5. opencv 手选roi区域_利用opencv进行眼动检测
  6. 数据库中主键和外键的设计原则
  7. 【快速幂】小明解密码 (jzoj 2146)
  8. 第6章 循环结构程序设计
  9. 在计算机上格式u盘启动,U盘制作dos启动盘几种简单方法
  10. 堆栈的存取原则是什么?
  11. 各种 lightbox 实现
  12. 摄影构图学pdf_简单易懂,摄影小白也能Get的摄影技巧!
  13. 数据与广告系列三:合约广告与与衍生的第三方广告数据监控
  14. defy+me525+android2.3.6官方镜像包,V大DEFY/DEFY+ ME525 ME525+ 2.3.6巅峰优化版0.86(红头)...
  15. 怎么免费提取PDF页面?
  16. 聚观早报 | 蔚来手机公司正式成立;苹果将取消iPad全系耳机孔
  17. rpx单位的换算的过程
  18. 手动配置协议和服务器POP,在outlook上添加账户并介绍邮件协议相关知识
  19. django后台搜索显示Related Field got invalid lookup: icontains
  20. 微信小程序开发实训记录(一)

热门文章

  1. Java网络编程笔记
  2. 蓝旭后端第六次培训课 MySQL(二)
  3. Unity TTS文字转语音 朗读 基于SpeechLib
  4. 使用VBA操作文件(1):使用Excel对话框
  5. 什么是BlockingQueue
  6. 布莱克斯科尔斯模型(四)方程推导过程
  7. 数仓建设 | ODS、DWD、DWM等理论实战(好文收藏)
  8. pssh, pscp的用法
  9. Linux生产环境运行flask
  10. @keyup.enter.native不生效?看看@keyup.enter.native和@keyup.enter的区别和使用