`
zybing
  • 浏览: 446485 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多

程序本来好好的, 做了一次大修改,测试的时候发现在某些场合下,程序突然消失了,检查后发现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

)

 

 

 

分享到:
评论

相关推荐

    sigar-amd64-winnt.dll,修复jvm崩溃版本

    此为修复版本,下载后直接使用即可 版本号:1.6.4,大家去下载jar的时候别搞错了!

    jvm crash的崩溃日志详细分析及注意点

    本篇文章主要介绍了jvm crash的崩溃日志详细分析及注意点。具有很好的参考价值,下面跟着小编一起来看下吧

    sigar1.6.4,jvm崩溃修复版

    sigar1.6.4,jvm崩溃修复版,包含jar和各平台的dll,so等文件

    关于编写Java程序让Jvm崩溃

    在书上看到一个作者提出一个问题“怎样通过编写Java代码让Jvm崩溃”,我看了之后也不懂。带着问题查了一下,百度知道里面有这样一个答案: 1 package jvm; 2 3 public class Crash { 4 public static void main...

    使用JNA替代JNI调用DLL,并解决内存溢出问题

    问题描述: 在开发项目过程中,需要处理算法分析出来二进制流数据,并对数据解析处理转发。我们上层应用平台是使用java开发的,但开放平台是使用c++开发,虽提供给我们对应的.h头文件,但在java中来解析这些数据就...

    RXTXcomm源码包 可以在linux直接编译使用

    RXTX串口读写在windows下开发正常,在Linux下存在bug,表现为:在代码中能正常开启串口后,发数据、收数据时,jvm崩溃报错。资源加载失败等. 解决方案: 在Linux平台上编译,编译生成.so文件以及RXTXcomm.jar引用包. ...

    debug:调试LWJGL3 OpenGL应用程序

    什么Java代理,用于调试LWJGL3程序以防止JVM崩溃并解决OpenGL错误。为什么由于用户程序中的某些错误可能导致JVM崩溃而没有有意义的错误消息,因此LWJGL 3已针对极端速度进行了调整,但以健壮性为代价。如何从下载...

    jactor-logger:三个 logback appender,对 Logback 使用 jactor、jactor2 和disruptor

    Logger很重要,logger系统有两个问题,第一是性能,logger不应该延迟主程序的性能第二是数据丢失,因为logger是在同一个jvm中,所以当jvm崩溃时,如果写入可能会丢失logger消息速度很慢。 logback appender 使用 ...

    ImageMagick JmagicK 图片修改工具套件新版有问题,6.3.9 完全验证稳定可用

    在网上找了N多个ImageMagick与相关的Jmaigck,结果CSDN上面其他下载的配合起来总是会有问题,要么JVM崩溃,要么找不到DLL文件。自己去官网问了很久,才找到一对比较稳定的版本,6.3.9的,保存起来也希望大家能够喜欢...

    jmusicbot容器

    jmusicbot容器 在容器中运行 。 建立 高山的 docker build ....Debian docker build ....采用openjdk docker build ....尝试播放歌曲时,高山容器中的JVM崩溃。 看起来像一个。 UTF-8编码的播放列表中的重音字符可

    多JVM处理......

    如果您使用 jvmpart 进行处理,则一个崩溃永远不会影响其他崩溃,所有 JVM 进程都是独立运行的,并且与它自己的内存并行运行。在jvmpart中,有两个东西,一个叫做分区器,另一个是Processer。我称之为“双P”:)当您...

    seddi:堆栈交换数据转储导入器

    SEDDI是StackExchange数据转储的跨平台,跨数据库甚至跨转储导入器。 利用Java和Hibernate ORM层的强大功能,SEDDI... Sevenzipjbining太脆弱了,它依赖于本机库,从而导致频繁且无法解释的JVM崩溃( ) 添加对加载自

    SCW-Demo1

    :four_o’clock: 演示版该演示显示:启动->无限循环-> LDAP注入-> UnsatisfiedLinkError-> BufferOverflowException->死锁->内存泄漏-> JVM崩溃(关闭) :four_o’clock: EasyBuggy可以复制: 烦恼内存泄漏(Java堆...

    java财务管理系统源码-nrjavaserial:Java串行端口系统。这是RXTX项目的一个分支,用于原生代码的jar加载

    java财务管理系统源码关于 ...崩溃的内存访问错误。 修复了 Windows 串行端口僵尸绑定,该绑定阻止在异常退出时重新访问串行端口。 修复了本地库不匹配的错误打印输出。 依赖管理 Maven Java 8 和 Java 1

    java应用JVM的GC频率观察方法

    一般Full GC时,机器的Load会升高,应用也会停止响应一会(持续长达几秒),如果应用一直频繁的进行FullGC,一方面会出现应用无法提供正常服务,另一方面甚至会导致应用崩溃址至挂掉。 所以观察应用的GC频率是可以...

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    / 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-unsafe-utils:快速 JVM 收集

    JVM 不安全实用程序库 这项工作正在进行中,尚未正确命名。 专为大数据分析设计的高性能库,包括: 显式(堆内和堆外)内存分配器可...如果使用不当(并且断言关闭),编程错误可能会导致 JVM 进程崩溃。 推特:

    01 JVM崩块案例分析

    Crash崩溃日志

Global site tag (gtag.js) - Google Analytics