coredump默认不会dump文件映射, 而我们如果要调试oat问题,需要将boot.oat等文件直接加载到core文件里。 这样就能方便的在gdb中查询oat文件中的内容了。 本文将介绍如何将一个file添加到core文件中。 首先我们需要三个文件,分别是core文件、maps文件、oat文件。 ...
分类:
其他好文 时间:
2017-05-14 10:31:40
阅读次数:
242
首先线上开启了dump的参数 dump的内容有2G,先进行压缩打包,传输至本地(scp) tar -czvf dump.tar java_pid4824.hprof 使用Jprofile打开dump文件 发现导致内存溢出的是几个PreparedStateMent,查看其内容,发现时插入业务日志的sq ...
分类:
其他好文 时间:
2017-04-27 00:34:43
阅读次数:
290
源地址:http://seanhe.iteye.com/blog/898277 一、准备工作 分析较大的dump文件(根据我自己的经验2G以上的dump文件就需要使用以下介绍的方法,不然mat会出现oom)需要调整虚拟机参数 找个64位的系统在MemoryAnalyzer.ini设置-Xmx2g 如 ...
分类:
系统相关 时间:
2017-03-28 10:13:26
阅读次数:
166
脚本可以在任意机器上执行(需要安装mysql,至少是mysql客户端,mysql只能版本为5.6及以上),首先输入源ip,检测源ip上的mysql是否正常运行,再在本机dumpmysql数据库,然后将dump文件传输到目的服务器,在目的服务器上导入数据库,最后把从库加入到现用集群中。[root@mastert..
分类:
数据库 时间:
2017-03-21 20:36:08
阅读次数:
252
我们在编写服务端程序的时候,由于多线程并且环境复杂,程序可能在不确定条件的情况下宕掉,还不好重新,这是我们如何获取程序的出错信息,一种方法通过打日志,有时候一些错误日志也不能体现出来,这时就用到我们的core dump文件了。 通常情况下coredmp包含了程序运行时的内存,寄存器状态,堆栈指针,内 ...
分类:
数据库 时间:
2017-03-03 13:54:32
阅读次数:
195
一、引言 dump文件是C++程序发生异常时,保存当时程序运行状态的文件,是调试异常程序重要的方法,所以程序崩溃时,除了日志文件,dump文件便成了我们查找错误的最后一根救命的稻草。windows程序产生dump文件和linux程序产生dump文件的方式不一样,linux默认是不让产生core du ...
一、有三种备份方式: 1. 数据表文件备份 2. 单表数据备份 3. SQL备份 4. 增量备份 二、mysql中的存储引擎 主要有两种:myisam 和 innodb. -- 免费的 其他收费的还有:BDB, Memory, Archive innodb的存储方式:表结构单独存放,所有数据都存储在 ...
分类:
数据库 时间:
2017-02-09 23:09:41
阅读次数:
294
昨晚9时许,收到项目现场的同事电话,说一个正在运行的WAS因为日志及DUMP文件过大造成磁盘空间不足,宕机了。在处理过程中删除了超大的DUMP文件,但是无法启动was了,没有任何有效的日志输出,was就停留在了“服务器已启动,但是初始化失败”的画面上。最初怀疑是运行环境发生..
分类:
其他好文 时间:
2017-01-25 23:18:57
阅读次数:
1209
最近在做程序异常时堆栈信息获取相关工作,上一篇文章成功的在程序creash时写下了dump文件,而有些情况写dump文件是 不可以的,比如在jni开发时,C++只做底层处理,而整个项目是android工程,这个时候dump文件没有了优势,那么只能在程序 creash时把内存信息打印出来,获取输出到文 ...
分类:
编程语言 时间:
2017-01-21 07:48:36
阅读次数:
334
一次线上问题的解决 线上发现服务cpu使用达到98%,负载高达200多,64核心cpu,下面介绍解决过程: 1.top命令查出占用cpu高的进程pid 2.使用jstack -l pid >dump.txt 获取dump文件 3.使用top -H查询出消耗资源的线程号tid(十进制线程id),转换为 ...
分类:
其他好文 时间:
2016-12-22 22:49:03
阅读次数:
185