我们在编写服务端程序的时候,由于多线程并且环境复杂,程序可能在不确定条件的情况下宕掉,还不好重新,这是我们如何获取程序的出错信息,一种方法通过打日志,有时候一些错误日志也不能体现出来,这时就用到我们的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
mysqldump常用于MySQL数据库逻辑备份。 1、各种用法说明 A. 最简单的用法: 上述命令将指定数据库备份到某dump文件(转储文件)中,比如: 生成的test.dump文件中包含建表语句(生成数据库结构哦)和插入数据的insert语句。 B. --opt 如果加上--opt参数则生成的d ...
分类:
数据库 时间:
2016-12-15 12:04:03
阅读次数:
350
其实很简单,就是利用正则表达式,从文件中抽取,可以用awk或sed,例如:1.抽取数据库imysql_1的全部SQL语句#假设数据库imysql_1的下一个是imysql_2DBNAME1="imysql_1"DBNAME2="imysql_2"sed-n“/^--CurrentDatabase:\`$DBNAME1\`/,/^--CurrentDatabase:\`$DBNAME2\`/p”imysql..
分类:
其他好文 时间:
2016-12-05 23:43:25
阅读次数:
191
很多tomcat进程退出(或者进程假死),都是由于频繁的抛出OutOfMemeoryError导致的。 为了让tomcat退出前或者发生OutOfMemeoryError时自动dump堆栈信息,方便事后排查问题,我们可以做如下操作: 1、 在tomcat启动参数中加入两个参数 -XX:+HeapDu ...
分类:
其他好文 时间:
2016-11-19 23:21:11
阅读次数:
257
在开发过程中,当一个Linux程序异常退出时,我们可以通过core文件来分析它异常的详细原因。缺省情况下,Linux在程序异常时不产生core文件,要想让程序异常退出时产生core dump文件,需要使用ulimit命令更改coredump的设置: 上面的命令表示在程序异常时产生core dump文 ...
分类:
系统相关 时间:
2016-11-07 12:26:07
阅读次数:
206