程序本来好好的, 做了一次大修改,测试的时候发现在某些场合下,程序突然消失了,检查后发现JVM崩溃了.
在运行目录下,生成了一个错误log文件: hs_err_pid26290.log
打开看, 能看到一些信息; 同时查了一下网上的一些资料.
JVM的崩溃, 在网上找了一下一般以以下几种情况居多:
1. 内存不够, 尤其是Heap不够造成的, 具体的例子如: http://www.zhuoda.org/hofman/66549.html
2.JVM编译的时候发生的JVM崩溃, 如:
http://seanhe.iteye.com/blog/905997 ,
http://hi.baidu.com/wzgws/item/60ad0dea9ae6aff6e0a5d476
3. GC的时候发生的JVM崩溃, 这个网上最多了.
按照资料的情况,对log文件做了分析,
log文件的内容包括这几部分:(直接抄网上的, 没用自己的log来分析)
主要日志信息如下:
JVM crash main information:
1.JVM:(1.5.0_17-b04 mixed mode)
A fatal error has been detected by the Java Runtime Environment:
2.SIGSEGV (0xb)
3.libjvm.so+0x48acf3
4.Java Threads: ( => current thread )
ComiplerThread [_thread_in_native]
5.Current CompileTask:
com.apusic.net.Muxer.acceptConnection(SocketAdaptor paramSocketAdaptor)
6.Heap的使用情况正常。
通过Thread, 可以判断问题出在哪个类型的线程中, 通过Heap可以分析内存使用的情况;
分析了自己的log,问题也是出在 CompilerThread0 , 根据Java TroubleShooting Guide的解释(相关部分在http://seanhe.iteye.com/blog/905997中已经给出翻译), 将 相关的方法配制在-XX:CompileCommand中, 问题得以解决;
还有: 崩溃位置的定义在这个log文件中有说明:
Native frames: (
J=compiled Java code,
j=interpreted,
Vv=VM code,
C=native code
)
分享到:
相关推荐
此为修复版本,下载后直接使用即可 版本号:1.6.4,大家去下载jar的时候别搞错了!
本篇文章主要介绍了jvm crash的崩溃日志详细分析及注意点。具有很好的参考价值,下面跟着小编一起来看下吧
sigar1.6.4,jvm崩溃修复版,包含jar和各平台的dll,so等文件
在书上看到一个作者提出一个问题“怎样通过编写Java代码让Jvm崩溃”,我看了之后也不懂。带着问题查了一下,百度知道里面有这样一个答案: 1 package jvm; 2 3 public class Crash { 4 public static void main...
问题描述: 在开发项目过程中,需要处理算法分析出来二进制流数据,并对数据解析处理转发。我们上层应用平台是使用java开发的,但开放平台是使用c++开发,虽提供给我们对应的.h头文件,但在java中来解析这些数据就...
RXTX串口读写在windows下开发正常,在Linux下存在bug,表现为:在代码中能正常开启串口后,发数据、收数据时,jvm崩溃报错。资源加载失败等. 解决方案: 在Linux平台上编译,编译生成.so文件以及RXTXcomm.jar引用包. ...
什么Java代理,用于调试LWJGL3程序以防止JVM崩溃并解决OpenGL错误。为什么由于用户程序中的某些错误可能导致JVM崩溃而没有有意义的错误消息,因此LWJGL 3已针对极端速度进行了调整,但以健壮性为代价。如何从下载...
Logger很重要,logger系统有两个问题,第一是性能,logger不应该延迟主程序的性能第二是数据丢失,因为logger是在同一个jvm中,所以当jvm崩溃时,如果写入可能会丢失logger消息速度很慢。 logback appender 使用 ...
在网上找了N多个ImageMagick与相关的Jmaigck,结果CSDN上面其他下载的配合起来总是会有问题,要么JVM崩溃,要么找不到DLL文件。自己去官网问了很久,才找到一对比较稳定的版本,6.3.9的,保存起来也希望大家能够喜欢...
jmusicbot容器 在容器中运行 。 建立 高山的 docker build ....Debian docker build ....采用openjdk docker build ....尝试播放歌曲时,高山容器中的JVM崩溃。 看起来像一个。 UTF-8编码的播放列表中的重音字符可
如果您使用 jvmpart 进行处理,则一个崩溃永远不会影响其他崩溃,所有 JVM 进程都是独立运行的,并且与它自己的内存并行运行。在jvmpart中,有两个东西,一个叫做分区器,另一个是Processer。我称之为“双P”:)当您...
SEDDI是StackExchange数据转储的跨平台,跨数据库甚至跨转储导入器。 利用Java和Hibernate ORM层的强大功能,SEDDI... Sevenzipjbining太脆弱了,它依赖于本机库,从而导致频繁且无法解释的JVM崩溃( ) 添加对加载自
:four_o’clock: 演示版该演示显示:启动->无限循环-> LDAP注入-> UnsatisfiedLinkError-> BufferOverflowException->死锁->内存泄漏-> JVM崩溃(关闭) :four_o’clock: EasyBuggy可以复制: 烦恼内存泄漏(Java堆...
java财务管理系统源码关于 ...崩溃的内存访问错误。 修复了 Windows 串行端口僵尸绑定,该绑定阻止在异常退出时重新访问串行端口。 修复了本地库不匹配的错误打印输出。 依赖管理 Maven Java 8 和 Java 1
一般Full GC时,机器的Load会升高,应用也会停止响应一会(持续长达几秒),如果应用一直频繁的进行FullGC,一方面会出现应用无法提供正常服务,另一方面甚至会导致应用崩溃址至挂掉。 所以观察应用的GC频率是可以...
/ 112 5.2.5 服务器JVM进程崩溃 / 113 5.3 实战:Eclipse运行速度调优 / 114 5.3.1 调优前的程序运行状态 / 114 5.3.2 升级JDK 1.6的性能变化及兼容问题 / 117 5.3.3 编译时间和类加载时间的优化 / 122 5.3.4 ...
JVM 不安全实用程序库 这项工作正在进行中,尚未正确命名。 专为大数据分析设计的高性能库,包括: 显式(堆内和堆外)内存分配器可...如果使用不当(并且断言关闭),编程错误可能会导致 JVM 进程崩溃。 推特:
Crash崩溃日志