有时候难免会遇到java程序崩溃,需要看hs_err_pid<pid>.log。本文简述此文件的一些关键信息。
先说下配置参数的东东
设置日志记录文件:
-XX:ErrorFile=/var/log/java/java_error%p.log
设置记录崩溃dump记录:
-XX:+HeapDumpOnOutOfMemoryError
dump 文件里,值得关注的线程状态有:
死锁,Deadlock(重点关注)
执行中,Runnable
等待资源,Waiting on condition(重点关注)
等待获取监视器,Waiting on monitor entry(重点关注)
暂停,Suspended
对象等待中,Object.wait() 或 TIMED_WAITING
阻塞,Blocked(重点关注)
停止,Parked
文件内容的关键点:
首先是问题概要
# SIGSEGV (0xb) at pc=0x000000000000007b, pid=533, tid=140130225481472
•SIGSEGV是信号名称
•0xb是信号码
•pc=0x000000000000007b指的是程序计数器的值
•pid=533是进程号
•tid=140130225481472是线程号
然后是问题帧信息
# Problematic frame:
# C 0x000000000000007b
#
帧的类型包括:
C:本地C帧
j:解释的Java帧
V:虚拟机帧
v:虚拟机生成的存根栈帧
J:其他帧类型,包括编译后的Java帧
接下来是线程信息
然后是虚拟机信息
VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
虚拟机状态包括:
•not at a safepoint:正常运行状态;
•at safepoint:所有线程都因为虚拟机等待状态而阻塞,等待一个虚拟机操作完成;
•synchronizing:一个特殊的虚拟机操作,要求虚拟机内的其它线程保持等待状态。
虚拟机的Mutex和Monitor目前没有被线程持有。Mutex是虚拟机内部的锁,而Monitor则关联到了Java对象。
然后gc信息
最后是系统信息,主要看看swap(虚拟内存)有没有被使用
分享到:
相关推荐
《唯品会Java开发手册1.0.2版本》是对阿里巴巴Java开发手册的补充和精简,结合了《Clean Code》和《Effective Java》等经典著作的精华,旨在为Java开发者提供一套符合唯品会实际需求的编码规范。手册涵盖命名、格式...
SSH框架,全称为Struts2、Spring和...通过这个精简版SSH框架,你可以系统地学习和实践Java Web开发中的核心框架,提升你的开发技能。同时,对于已经有一定经验的开发者,也可以用它来快速搭建项目原型,提高开发效率。
SSHdemo无美工精简版是一个基于Java技术栈的项目,涵盖了J2EE、Hibernate、JSP、Spring和Struts框架。这个项目可能是为了演示如何整合这些流行的技术来开发企业级应用。在描述中提到的问题是遇到了空指针异常...
同时,由于是原创版本,作者可能在其中加入了一些优化或者特殊的设计,例如异常处理、日志记录、安全控制等方面的改进,这有助于提高项目的整体质量和开发效率。 总的来说,这个SSM精简版是为快速开发和理解SSM框架...
在"spring4.0.2札包(精简版)"中,我们可以期待以下几个关键知识点: 1. **IoC容器**:Spring的核心组件,负责管理对象的生命周期和依赖关系。在4.0.2版本中,容器的配置方式更加灵活,支持XML、注解以及Java配置...
【JavaWeb BBS项目精简】是一个专注于简化和优化基于JavaWeb技术的...通过对这个精简版BBS项目的探索和实践,开发者不仅可以提升JavaWeb开发技能,还能加深对SSH2框架的理解,为未来更复杂的Web应用开发打下坚实基础。
6. **异常处理与调试**:在实际开发中,可能会遇到各种异常情况,如网络问题、参数错误、签名验证失败等,需要编写相应的异常处理代码,并提供良好的日志记录,以便于调试和排查问题。 7. **安全性考量**:支付过程...
异常处理部分强调了应该正确使用Java异常处理机制,合理捕获和抛出异常,避免使用异常作为正常的流程控制手段。此外,还应正确记录异常日志,并提供必要的异常信息。 最后,日志规约部分要求开发者应该根据日志的...
此精简版可能强调简洁的UI设计,易于用户理解和操作。 2. **响应式设计**:考虑到移动设备的屏幕尺寸各异,源码可能包含响应式设计,确保页面在不同设备上都能自适应显示。这通常通过媒体查询(Media Queries)来...
综上所述,《阿里巴巴Java开发手册(终极版)》涵盖了Java开发的多个方面,包括但不限于编码风格、异常处理、并发控制、设计原则以及性能优化等,对于提升代码质量和团队协作效率具有重要作用。每位Java开发者都应该...
"Essentials Mini" 是一个基于Java技术开发的精简版工具或框架,旨在提供轻量级、高效且易于使用的功能,可能适用于快速开发或者小型项目。由于“Essentials Mini”这个名字并未提供具体的功能细节,我们可以从Java...
10. **调试与优化**:源代码还可能包含调试信息和性能优化代码,如日志记录、异常处理和算法优化,以确保游戏在不同设备上的稳定性和流畅性。 总的来说,通过分析这些源代码,开发者可以深入理解游戏开发的各个方面...
- 添加异常处理机制,捕获并处理可能出现的IO异常。 - 提供更灵活的重命名规则,如正则表达式支持,允许用户自定义更复杂的替换逻辑。 - 添加日志记录,以便于追踪和调试重命名过程。 - 如果文件数量巨大,可以考虑...
在使用这个精简版的SSH框架时,开发者需要确保所有必要的功能都已包含,并且在遇到新的功能需求时,能够快速定位并添加相应的jar包。 为了确保项目稳定运行,精简jar包时需要注意版本兼容性问题,避免因版本不匹配...
- 使用日志框架如Log4j或SLF4J记录请求、响应以及异常信息,便于排查问题。 7. **性能优化**: - 如果订单量大,可以考虑分页加载,避免一次性获取大量数据导致内存压力。 - 缓存策略的实施,如使用Redis缓存...
本压缩包"wangluojiankong.rar"包含了一个用Java语言开发的网络监控系统的精简版,特别适合初学者进行学习和实践。 一、Java开发网络监控系统的优势 Java作为一种跨平台的编程语言,具有强大的网络编程能力。它的多...
Struts2通常需要Java 8或更高版本来运行,因为较低版本的JDK可能不支持某些特性和API,这可能导致编译错误或运行时异常。 在集成这个精简jar包时,开发者需要注意以下几点: 1. **依赖管理**:尽管这个包已经包含...
在Android开发过程中,日志(Log)系统是开发者不可或缺的工具,用于调试、监测应用运行状态和记录异常信息。ALog是一个专为Android设计的精简、全面且方便的日志库,它旨在提供比默认的Android Log类更高效、更易用...
java版oa源码下载 平台简介 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适的。于是利用空闲休息时间开始自己写了一套后台系统。如此有了若依。她可以用于所有的Web应用程序,如网站管理后台,...
总结起来,HouseMD是一款强大且灵活的Java进程诊断工具,它通过提供实时监控、命令行操作、日志分析、插件扩展等功能,极大地简化了Java应用的调试过程,提升了开发效率。无论你是个人开发者,还是团队中的核心成员...