线上问题分析之java dump文件生成】的更多相关文章

昨天下午大神把组内几十号人召集在一起开Online bug分析大会,主要是针对近期线上事故从事故原因和解决方案两个维度来分析. 对金融软件来说,每一次的线上事故都有可能给公司带来重大的损失,少扣了用户的钱,为公司带来资金方面的亏损:多扣了用户的钱,则为带来不必要的合约或法律纠纷,故测试金融软件不比其他行业的软件,后者线上bug大多不会直接引起资金方面损失,最多就是用户体验不好,功能没有实现,导致用户量的流失. 对金融软件来说没有小bug,一旦出现bug那就是重大的bug,必须引起高度重视. 俗话…
本文来源于数据库内核专栏. MySQL慢日志(slow log)是MySQL DBA及其他开发.运维人员需经常关注的一类信息.使用慢日志可找出执行时间较长或未走索引等SQL语句,为进行系统调优提供依据.本文结合线上案例分析如何正确设置MySQL慢日志参数和使用慢日志功能,并介绍网易云RDS(InnoSQL)对MySQL慢日志功能增强.MySQL参数组功能网易云RDS实例提供了参数组管理功能,可通过参数管理界面查看绝大部分常用的MySQL系统参数,用户可以了解当前运行值和建议值,如下所示: 用户还…
WinDbg官方下载: http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.11.1.404.msi http://msdl.microsoft.com/download/symbols/debuggers/dbg_amd64_6.11.1.404.msi 打开WinDbg设置Symbol File Path为: 1 SRV*http://msdl.microsoft.com/download/symbols 然后将dum…
总结一下dump文件生成和调试的方法: 1:用SetUnhandledExceptionFilter捕获未处理的异常,包含头文件<windows.h>.函数原型为: LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter( __in LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter ); SetUnhandledExceptionFilter返回值为:The Se…
在生产上进程需要分析jvm运行情况,今天分享几个自己常用的命令,持续更新,欢迎补充 1.jps jstack -l {pid} > jstack.log #查看线程快照信息 2.jps jmap -heap {pid} #查看gc快照信息 jmap -dump:format=b,file=dump.bin {pid} #dump内存快照 用mat分析dump文件 3.jps top -H -p {pid} 查看运行线程数量和高CPU和长期未释放的线程 线程id 10转16进制 jstack -l…
近期两天因为项目的须要,研究了一下Dump文件相关的知识,今天做一个小节(因为研究不久而且第一次写blog,希望网友们看到不要见笑). Dump文件是进程的内存镜像.能够把程序的运行状态通过调试器保存到dump文件里.   Dump文件是用来给驱动程序编写人员调试驱动程序用的,这样的文件必须用专用工具软件打开,比方使用WinDbg打开. 当我们的程序公布出去之后,在客户机上是无法跟踪自己代码的bug的,所以Dump(扩展名是 .dmp)文件对于我们来说特别实用.我们能够通过.dmp文件把出现bu…
一.WinDbg是什么?它能做什么? WinDbg是在windows平台下,强大的用户态和内核态调试工具.它能够通过dmp文件轻松的定位到问题根源,可用于分析蓝屏.程序崩溃(IE崩溃)原因,是我们日常工作中必不可少的一个有力工具,学会使用它,将有效提升我们的问题解决效率和准确率. 二.设置符号表: 符号表是WinDbg关键的“数据库”,如果没有它,WinDbg基本上就是个废物,无法分析出更多问题原因.所以使用WinDbg设置符号表,是必须要走的一步. 1.运行WinDbg软件,然后按[Ctrl+…
我们的线上erp系统一天使用人员反映部分数据死活保存不上而且页面操作很慢.开始以为操作数据量大的原因, 后来查看了我们线上的glowroot系统,发现slowtrace中有超长时间的访问,点开查看详情发现有语句产生了思索. 二话不说 登录生产环境数据库,查看引起状态 >show engine innodb status \G; 发现死锁关键词 随后分析之后的transaction 共有2个事务. 事务(1)产生了x排他所 事务(2)产生了s共享锁 我们都知道 共享锁和排它锁如果相遇是竞争的,是冲…
一.    生成Dump文件方式 1.1任务管理器 在程序崩溃后,先不关闭程序,在任务管理器中找到该程序对应的进程.右键—>创建转储文件. 此时会在默认的目录下创建出一个dump文件. 可以看出,此种方法只适用于程序崩溃但没有立即自行退出的情况.倘若程序故障后自行退出,则此方法就难以应用.不过,我们可以在注册表中添加如下信息已确保系统在程序崩溃后自行保存一个dump文件: 在注册表中找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\WindowsE…
一.生产出错! 今天早上11点左右,我在工作休息之余,撸了一下猫.突然,工作群响了,老大在里面说:APP出错了! 妈啊,这太吓人了,因为只是说了出错,但是没说错误的信息.所以我赶紧到APP上看看. 这果然是出错了,而且还是简单而粗暴的500,太吓人了. 二.本地赶紧调试起来! 既然线上出错了,我们又不能直接进行调试,那当然得马上在本地搞起来了! 1.代码是否有错? 立马启动本地的项目,访问对应的接口,看看是不是代码哪里出错了. 好了,本地的代码和 SQL 都是没错的! 2.SQL 是否有错? 那…