`
liu_swei
  • 浏览: 50562 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

关于jvm频繁crash的问题

阅读更多

昨天遇到一个问题,公司的一个军方项目组在使用我们的服务器

在部署应用时频繁的重启,卸载应用时也存在这种现象

而服务器的日志仅捕获了少许信息,详细的关于服务器本身的没有记录,因此怀疑是JVM发生了致命错误使得服务器不及写日志就退出了,于是在服务器bin目录下查找,果然发现了以 "hs_err_pid" 开头的日志名,报的异常大致如下:

# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c938fea, pid=3028, tid=2368
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_12-b04 mixed mode)
# Problematic frame:
# C  [ntdll.dll+0x18fea]
...
Heap
 def new generation   total 4608K, used 3054K [0x027b0000, 0x02ca0000, 0x07670000)
  eden space 4160K,  68% used [0x027b0000, 0x02a7bf50, 0x02bc0000)
  from space 448K,  42% used [0x02bc0000, 0x02befc38, 0x02c30000)
  to   space 448K,   0% used [0x02c30000, 0x02c30000, 0x02ca0000)
 tenured generation   total 58136K, used 38983K [0x07670000, 0x0af36000, 0x427b0000)
   the space 58136K,  67% used [0x07670000, 0x09c81d28, 0x09c81e00, 0x0af36000)
 compacting perm gen  total 63232K, used 63228K [0x427b0000, 0x46570000, 0x527b0000)
   the space 63232K,  99% used [0x427b0000, 0x4656f3c8, 0x4656f400, 0x46570000)
No shared spaces configured.


起初觉得应该是内存溢出导致的, 于是增加内存参数,但问题依旧,而由于军方项目组保密设施比较严格, 没有网络和电话

所以查找问题也比较被动,而且此类问题第一次遇到所以只能怀疑程序本身有问题,是不是操作数据库后没有及时关闭等

但项目组成员反馈,项目组4台机器中两台正常,两台存在此类现象,而且机器硬件配置相同,安装的软件版本也相同。

由于没有好的解决办法,只好回来之后上网搜索相关资料。经google一下后发现,此问题很常见,但都没有好的解决办法

于是按照各网友给出的建议挨个尝试,但都没效果

后来找到一篇文章里面解释了异常的一些信息才有了些许线索。

异常中的

# C  [ntdll.dll+0x18fea]这里的C表示,jvm是在调用本地方法的时候挂了


于是怀疑是不是程序中调用了本地方法,但项目组说就是一个普通的web应用并没有使用任何的本地方法

但异常提示如此所以怀疑是某些软件和jdk冲突,但既然是jvm调用本地方法时出错,就很可能是和杀毒软件有冲突

后对比发现,能正常使用的安装的是卡巴,而不能正常使用的安装的都是nod32.

于是卸载nod32后问题解决。

 

1
0
分享到:
评论
1 楼 fuliang 2008-11-13  
我们使用的基于JavaXPOM的MozillaBrowser经常出现Crash, JavaXPOM使用了本地的xulrunner,尚未找到解决的方案。

相关推荐

    JVM问题分析调优经验

    一、前言 JVM 性能优化步骤: 预估系统参数 压测后,调整JVM 参数 线上系统监控和优化 统一的JVM 参数模板 线上频繁 Full GC 的表现: 机器CPU 负载过高 频繁Full GC 报警

    resin-jvm 调优

    由于它比单空间共同发生收集器中断频繁,因此它需要较少的内存,应用程序的运行效率也较高,注意,过小的护理域可以导致大量的临时对象被扩展到旧域中。这会造成收集器超负荷运作,甚至采用排它性工作方式完成收集。...

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

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

    【Spark调优篇04】Spark之JVM调优1

    可以通过设置 spark.executor.memory 参数来调节 Executor 的堆外内存,默认情况下,Executor 堆外内存上限大概为 300 多 MB,在实际的生产环境下,对于海量数据进行处理的时候,这里都会出现问题,导致 Spark 作业...

    关于内存溢出导致的服务器崩溃问题分享

    1. JVM参数配置不合理:大部分项目使用默认的JVM配置,如果业务量飙升,峰值所需内存高于配置内存,可能会导致系统在高频时段频繁发生FULL GC。 2. 内存没有释放:实例长时间占用,无法及时释放内存。空闲内存越来越...

    jvm排查cpu占用过高的线程

    快速创建大量临时变量,导致频繁触发gc回收 问题解决: 1、用top命令找到cpu占用率最高的进程号是8958 top 2、top -Hp pid 命令找到该进程下cpu占用最高的线程(shift+p 按cpu排序,shift+m 按内存排序) top -Hp...

    高并发场景下的缓存+数据库双写不一致问题分析与解决方案设计.docx

    该解决方案要注意的问题(1)读请求长时阻塞由于读请求进行了非常轻度的异步化,所以一定要注意读超时的问题,每个读请求必须在超时时间范围内返回该解决方案,最大的风险点在于说,可能数据更新很频繁,导致队列中...

    快速、简洁、解决大文件内存溢出的java处理Excel工具 .rar

    如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或者JVM频繁的full gc。 EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。EasyExcel能大大减少占用内存的主要原因是在...

    JAVA 解析 Excel 工具 Java 解析、生成 Excel 比较有名的框架.rar

    如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或者JVM频繁的full gc。 EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。EasyExcel能大大减少占用内存的主要原因是在...

    高级java开发并发问题

    2.频繁创建开销大 为什么不受控? 系统资源有限,每个人针对不同业务都可以手动创建线程,并且创建线程没有统一标准,比如创建的线程有没有名字等。当系统运行起来,所有线程都在抢占资源,毫无规则,混乱场面...

    java性能调优,带书签版

    Java 应用性能优化是一个老生常谈的话题,典型的性能问题如页面响应慢、接口超时,服务器负载高、并发数低,数据库频繁死锁等。尤其是在“糙快猛”的互联网开发模式大行其道的今天,随着系统访问量的日益增加和代码...

    中兴面试问题总结

    一般来说,如果需要频繁地操作字符串,可以使用 StringBuilder;如果需要在多线程环境下操作字符串,可以使用 StringBuffer。 3. String 的不可改变性 String 类型的对象是不可改变的,因为每次对 String 对象的...

    Java高级面试题汇总及答案(2022年Java面试题及答案大全)

    2. JVM出现fullGC很频繁,怎么去线上排查问题?这是一道经典的Java面试题。解决这个问题需要了解Java的内存管理机制,包括FULL GC的触发条件、Perm Gen的设置、System.gc()方法的调用等。 Java集合框架 3. Java...

    JSP session配置对web应用的影响

    刚开始以为是JVM虚拟机的各项参数配置的不合理,我们就对JVM虚拟机的参数进行调整,调整后发现GC还是非常的频繁。 funll GC频繁非常影响性能,我们把jvm的heapdump( Java 堆栈的快照)文件导出来,采用IBM Heap...

    IDEA启动项目很慢解决方案.docx

    IDEA 启动项目加载很慢解决方案是 Intellij IDEA 用户常见的问题之一。Intellij IDEA 由于功能很多,又注重搜索与智能提示的速度,启动时把很多数据提前加载到内存里面,导致启动特别慢。即使优化到极致,Intellij ...

    理论:第十三章:堆溢出,栈溢出的出现场景以及解决方案.docx

    堆溢出、栈溢出的出现场景及解决方案 堆溢出是指 Java 应用程序在堆内存中申请空间时超出限制,导致内存...堆溢出和栈溢出都是常见的 Java 错误,通过调整 JVM 参数、优化代码和使用堆外内存等方式可以解决这些问题。

    Eclipse 启动运行速度调优

    注意,这是一个矛盾的问题,事实上此回收器主要适用于具有千兆字节堆的多处理器。尚无可用数据表明它对主要垃圾回收的影响。注意:此回收器与 -XX:+UseConcMarkSweepGC 是互斥的。 <br>=========================...

    面向GC的Java编程

    Java程序员在编码过程中通常不需要考虑内存问题,JVM经过高度优化的GC机制大部分情况下都能够很好地处理堆(Heap)的清理问题。以至于许多Java程序员认为,我只需要关心何时创建对象,而回收对象,交给GC来做吧!甚至...

    Java应用性能调优实践

    Java应用性能优化是一个老生常谈的话题,典型的性能问题如页面响应慢、接口超时,服务器负载高、并发数低,数据库频繁死锁等。尤其是在”糙快猛”的互联网开发模式大行其道的今天,随着系统访问量的日益增加和代码的...

    Java工程师必会100题

    本资源主要介绍了Java工程师必会的100个问题,涵盖了Java基础知识、反射机制、JVM内存结构、字符串操作等多个方面的内容。 1. String/StringBuffer/StringBuilder区别 Java中的字符串操作有三种方式:String、...

Global site tag (gtag.js) - Google Analytics