服务启动以后过段时间自动失败:A fatal error has been detected by the Java Runtime Environment

控制台中的错误信息

A fatal error has been detected by the Java Runtime Environment:

EXCEPTION_ ACCESS. _VIOLATION (0xc0000005) at pc=0x0000003aec715, pid=12424, tid=0x0000000002260

JRE version: Java(TM) SE Runtime Environment (8.0_ 241-b07) (build 1.8.0_ 241-b07)
Java VM: Java HotSpot(TM) 64-Bit Server VM (25.241-b07 mixed mode windows- amd64 compressed oops)
Problematic frame:
C [pLcommpro . dll+0xc715] Failed to write core dump. Minidumps are not enabLed by default on client versions of Windows An error report file with more information is saved as:
C: \Users \11193574\Desktop\smartarea\hs_ err_pid12424.log If you would like to submit a bug report, pLease visit:
http://bugreport. java . com/ bugreport/crash. jisp
. The crash happened outside the Java Virtual Machine in native code . See probLematic frame for where to report the bug.

下面的方法全部都是自己一个一个试的,可能解决不了我的问题,但是说不定能解决你们的

1.尝试添加 -XX:+CreateMinidumpOnCrash

个人感觉其中最重要的就是

Failed to write core dump. Minidumps are not enabLed by default on client versions of Windows

无法写入核心转储。默认情况下,在客户端版本的Windows上不启用小型转储

解决:

要让HotSpot VM在client版Windows上写出minidump,我们可以先在配置文件idea64.exe.vmoptions(位置:你安装的idea文件夹/bin中)设置 -XX:+CreateMinidumpOnCrash,这样HotSpot VM在crash时就会调用Windows的MiniDumpWriteDump()函数写出minidump

更改以后重启idea,等待一段时间看看效果

崩了,但是也没看见啥minidump,但是项目倒是不崩了?

十分钟过去了,没有什么失败问题出现,或许解决了?

然而并没有,他还是自己挂了,wuwuwu

2.降低jdk版本

那么看来就是重点位置搞错了,或许是这部分?

JRE version: Java(TM) SE Runtime Environment (8.0_ 241-b07) (build 1.8.0_ 241-b07)
Java VM: Java HotSpot(TM) 64-Bit Server VM (25.241-b07 mixed mode windows- amd64 compressed oops)

看了一下网上的教程,得试试降低jdk版本了,目前的jdk版本是1.8.0-241,看看有没有小版本可以用

如果遇到这个问题需要重新下载旧版本的jdk的时候,别从网上奇奇怪怪的地方下载,直接官网就能下,详细:从官网下载历史版本的java - DbWong_0918 - 博客园 (cnblogs.com)

下载1.8.0-191版本的java,进行安装,配置完环境更改idea项目中使用的jdk,然后重启项目



等待,看看过十五分钟还会不会自己挂掉

半个小时了,还没有挂,估计是成功了

还是挂了,我真的@#¥%@……@#¥@#¥#@%……@#

问了一下带我的师傅,说之前调了一下jvm就好了不少,试试

3.在idea中更改jvm内容

参考了这个

在虚拟机选项中添加

-XX:CompileCommand=exclude,org/hibernate/cfg/annotations/SimpleValueBinder,setType

然后再试试

还是会崩,不过久了一些,一个小时左右了可以

4.jvm内存调优

进行jvm调优

将堆大小给设置为

-Xms512m -Xmx1024m

可以参考jvm内存

重新运行以后,明显存活时间变长了,放了一晚上都没事儿,但是修改完东西重启项目的时候,不到半分钟,自己又崩了

难顶啊xdm

5.Tomcat和环境的版本

要保证 Tomcat 和使用的DLL版本是一致的

首先在命令行cd到安装的tomcat文件夹/bin下

然后直接输入-version

在下面的信息中就能看到对应的版本

但是咋说呢,我的本来就是一致的,所以对我来说也没啥用

6.回收手法问题导致内存溢出

看了看日志,怀疑是GC方面的问题

对日志的解读参考了JVM崩溃的原因及解决!

官方的参考Oracle的参考

看一下自己的是哪种

直接在命令行输入

java  -XX:+PrintCommandLineFlags  -version

然后我们就得到了响应的信息

-XX:InitialHeapSize = 268427072
-Xx:MaxHeapSize=4294833152
-XX:+PrintCommandLineFlags
-XX:+UseCompressedClassPointers
-XX:+UseCompressedOops
-XX:-UseLargePagesIndividualAllocation
-XX:+UseParallelGC
java version "1.8.0_ 241"
Java(TM) SE Runtime Environment (build 1.8.0 241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode) -XX:+UseParallelGC就说明了,新生代使用ParallerGC,老年代使用Serial Old(串行收集器)

好像默认就是使用这种类型的GC算法

在项目启动的时候的运行-编辑配置-环境-虚拟机选项中添加

-XX:+UseParallelOldGC

将老年代的垃圾收集器配置为并行收集

重启项目试试

可惜还是不行

7.代码问题

这个我应该也不是,毕竟是一个已经上线的项目,代码方面应该是没有什么问题的,不然也不会随机时间报错了

8.plcommpro.dll文件有问题?

Problematic frame:C [pLcommpro.dll+0xc715]能大概看出来是关于plcommpro.dll的错误

然而这个文件就算有问题也不太敢动

晚点自己试试


以上就是尝试过的所有的方法,可惜目前还是没有完全解决我的问题,但是已经比最开始呆的时间久了太多太多,自行寻找寻找,看看有没有完全解决的方式

Java服务突然失败:A fatal error has been detected by the Java Runtime Environment的总结的更多相关文章

  1. eplise中运行提示 A fatal error has been detected by the java runtime environment

    今天一同事出现运行项目时,提示 A fatal error has been detected by the java runtime environment,具体表现是使用我们框架,不能正常的打印日 ...

  2. A fatal error has been detected by the Java Runtime Environment(jdk 1.6的一个BUG)

    几天做项目,生成一堆注解的实体,当实体数超过86个时,jvm报错: # # A fatal error has been detected by the Java Runtime Environmen ...

  3. A fatal error has been detected by the Java Runtime Environment:

    在Eclipse中运行项目 遇到如下错误: ## A fatal error has been detected by the Java Runtime Environment:## EXCEPTIO ...

  4. jboss服务启动失败报:Error occurred during initialization of VM

    今天下午突然间公司的GTV管理平台上不去了 访问确实,提示找不到页面 登录终端查看服务进程. ps -ef | grep jboss 发现没有这个进程.怎么办,启动被. 输入nohup /home/c ...

  5. Error: opening registry key 'Software\JavaSoft\Java Runtime Environment' Error: could not find java.dll

    java -jar yxCollector-1.1.0.jarError: opening registry key 'Software\JavaSoft\Java Runtime Environme ...

  6. LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

    同时安装了VS2012和VS2010,用VS2010 时 >LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 问题说明:当安装VS2012之后 ...

  7. 无法启动"D\projects\hello\Debug\hello.exe" 系统找不到指定的文件。[LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏]

    这两天安装Visual Studio遇到这样的一个问题,用自己的电脑和公司的电脑都出现同样的问题.两台电脑都是新系统,按理来说是没有问题的.但是一出现问题,对于我这个小白来说,还是耗费了挺多精力都无果 ...

  8. 解决“LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”问题

    更新VS2010,或者卸载VS2013安装2010后,建立项目时会出现"LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏"的错误 ...

  9. vs2010 问题 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

    vs2010 问题 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 在安装 VS2010 后,再安装 VS2012 VS2015 等,原来的 .N ...

随机推荐

  1. 大话Java代理模式

    一.什么是代理 首先理解一下什么是代理.简单来说,代理就你要做一件事情,我替你把事情做了.这是现实生活中我们遇到的代理的需求场景.但写代码的时候对代理场景的需求,跟现实场景有点区别,本质上还是帮你做事 ...

  2. 数据库表的自增ID createDate和updateDate 用JPA注解代替触发器实现

    对于数据库表的自增ID , createDate和updateDate 等字段,用JPA注解代替触发器实现,效率会高很多. 由于这些属性很多entity都有 可以写成两个基本entity :BaseE ...

  3. Swoole_process实现进程池的方法

    Swoole 的进程之间有两种通信方式,一种是消息队列(queue),另一种是管道(pipe),对swoole_process 的研究在swoole中显得尤为重要. 预备知识 IO多路复用 swool ...

  4. ftp错误&&详解方案

    一.FTP错误代码列表150 文件状态良好,打开数据连接 200 命令成功 202 命令未实现 211 系统状态或系统帮助响应 212 目录状态 213 文件状态 214 帮助信息,信息仅对人类用户有 ...

  5. ARTS第二周

    第二周. 1.Algorithm:每周至少做一个 leetcode 的算法题2.Review:阅读并点评至少一篇英文技术文章3.Tip:学习至少一个技术技巧4.Share:分享一篇有观点和思考的技术文 ...

  6. Python单元测试框架unittest之单用例管理(一)

    一.概述 本文介绍python的单元测试框架unittest,unittest原名为PyUnit,是由java的JUnit衍生而来,这是Python自带的标准模块unittest.unittest是基 ...

  7. 「CF521D」 Shop

    「CF521D」 Shop 传送门 题目说是有三种操作,首先可以知道赋值操作是可以转化为加法操作的,即 \((1,b) \rightarrow (2,b-a_i)\) 然后加法对于一个数你肯定优先选择 ...

  8. 小白都能理解的TCP三次握手四次挥手

    前言 TCP在学习网络知识的时候是经常的被问到知识点,也是程序员必学的知识点,今天小杨用最直白的表述带大家来认识认识,喜欢的朋友记得点点关注哈. 何为TCP 上点官方的话:是一种面向连接(连接导向)的 ...

  9. 将已经基本完成的项目推送到gitee上管理

    1,首先在gitee上创建仓库,保留一个.gitigonore就行,这样就得到一个远程仓库地址 2,仓库有文件,那么就需要先将这个文件pull下来: 在本地的项目目录中执行:git init git ...

  10. 8Java设计模式(持续更新)

    1.单例模式(Singleton pattern): 单例模式的实现方式是,一个类能返回对象的一个引用(永远是同一个)和一个获得该唯一实例的方法(必须是静态方法). 饿汉式: public class ...