linux下生成dump文件方法及设置
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文件:
-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文件。
然后装入快照即可。
linux下生成dump文件方法及设置相关推荐
- linux手动生成dump文件权限不足_linux下生成dump文件方法及设置
https://andyniu.iteye.com/blog/1965571 Linux中生成 Core Dump 文件的方法 1 什么是 Core Dump Core Dump 又叫核心转储.在程序 ...
- Windows下生成dump文件的三种方式
文章目录 前言 一.什么是dump文件? 概述 dump分类 内核模式Dump 用户模式Dump 二.dump生成方式 实现方法 方法一:修改注册表 参数说明 方法二:生动创建转储文件 方法三:通过代 ...
- linux .bin文件处理,linux下制作.bin文件方法简介
linux 下制作二进制 .bin 的文件 制做方法是使用cat 命令将执行脚本和打包文件同事放到一个.bin的文件里 这样安装的时候只要使用一个包,直接执行该包即可安装完毕,简单方便. 例:制作安装 ...
- linux下生成coredump文件
1产生core文件方法 产生coredump的条件,首先需要确认当前会话的ulimit –c,若为0,则不会产生对应的coredump,需要进行修改和设置. ulimit -c unlimited ( ...
- Qt: Linux下生成.xlsx文件(excel表格文件)
Qt开发,项目中有个功能是要将数据导出至excel文件,也就是.xlsx或.wps格式文件. 查询一番,需要用到一个库 Qt Xlsx,方法如下: 1. 下载源码: GitHub - dbzhang8 ...
- linux手动生成dump文件权限不足_来玩一玩Linux常见命令~
写在前面: 小伙伴儿们,大家好!上一篇我们学习了Linux相关部署方面问题: 这次我们一起来玩一玩常见的Linux相关命令,有点意思: 思维导图: 1,命令格式: 我们刚打开FinalShell,可能 ...
- linux下查看十六进制文件方法
转载自CSDN博客:http://blog.csdn.net/ljasdf123/article/details/8531087 1. 在 vi 或 vim 的命令状态下 :%!xxd ...
- Linux生成xlsx格式文件,linux下生成excel文件
ps: od命令系统默认的显示方式是八进制,这也是该命令的名称由来(Octal Dump).但这不是最有用的显示方式,用ASCII码和十六进制组合的方式能提供更有价值的信息输出. 它们对于访问或可视地 ...
- LINUX下常见搜索文件方法
1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find <指定目录> <指定条件> <指定动作 ...
最新文章
- 【Android-功能】Android应用增量更新
- 【vue.js】vue后台项目权限功能实现思路
- PowerBI随笔(4)-关系模型与报表-1
- 后门怎么写隐蔽java_用Java写黑软-后门篇
- opencv 手选roi区域_利用opencv进行眼动检测
- 数据库中主键和外键的设计原则
- 【快速幂】小明解密码 (jzoj 2146)
- 第6章 循环结构程序设计
- 在计算机上格式u盘启动,U盘制作dos启动盘几种简单方法
- 堆栈的存取原则是什么?
- 各种 lightbox 实现
- 摄影构图学pdf_简单易懂,摄影小白也能Get的摄影技巧!
- 数据与广告系列三:合约广告与与衍生的第三方广告数据监控
- defy+me525+android2.3.6官方镜像包,V大DEFY/DEFY+ ME525 ME525+ 2.3.6巅峰优化版0.86(红头)...
- 怎么免费提取PDF页面?
- 聚观早报 | 蔚来手机公司正式成立;苹果将取消iPad全系耳机孔
- rpx单位的换算的过程
- 手动配置协议和服务器POP,在outlook上添加账户并介绍邮件协议相关知识
- django后台搜索显示Related Field got invalid lookup: icontains
- 微信小程序开发实训记录(一)
热门文章
- Java网络编程笔记
- 蓝旭后端第六次培训课 MySQL(二)
- Unity TTS文字转语音 朗读 基于SpeechLib
- 使用VBA操作文件(1):使用Excel对话框
- 什么是BlockingQueue
- 布莱克斯科尔斯模型(四)方程推导过程
- 数仓建设 | ODS、DWD、DWM等理论实战(好文收藏)
- pssh, pscp的用法
- Linux生产环境运行flask
- @keyup.enter.native不生效?看看@keyup.enter.native和@keyup.enter的区别和使用