服务启动以后过段时间自动失败: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. 重新整理 .net core 实践篇————缓存相关[四十二]

    前言 简单整理一下缓存. 正文 缓存是什么? 缓存是计算结果的"临时"存储和重复使用 缓存本质是用空间换取时间 缓存的场景: 计算结果,如:反射对象缓存 请求结果,如:DNS 缓存 ...

  2. CentOS-Docker安装Redis(单点)

    下载镜像 $ docker pull redis 创建目录 $ mkdir -p /usr/redis/data 运行镜像 $ docker run --restart=unless-stopped ...

  3. Raspberry Pi:树莓派开发板配置USB启动系统

    准备材料 树莓派4B U盘 TF卡 树莓派基础镜像2020-08-20稳定版(这个系统是必须的并拷录在TF卡) Kali树莓派系统(这个是我想要学习的系统,大家可以准备自己的系统,拷录在U盘的) SD ...

  4. Springboot:单元测试多模块项目不同模块组件不能@autowired问题

    博主在写springboot单元测试的时候使用@Autowired失效,显示为null 下面是项目架构 api为接口模块,service为实现类模块,测试类写在service模块下. 这是测试类,使用 ...

  5. java.io.CharConversionException: Not an ISO 8859-1 character: [留]

    笔记一下 问题代码如下: response.setContentType("text/html;charset=utf-8");ServletOutputStream out = ...

  6. 机器学习Sklearn系列:(三)决策树

    决策树 熵的定义 如果一个随机变量X的可能取值为X={x1,x2,..,xk},其概率分布为P(X=x)=pi(i=1,2,...,n),则随机变量X的熵定义为\(H(x) = -\sum{p(x)l ...

  7. 史上最全的Nginx配置文档

    Nginx是一个异步框架的Web服务器,也可以用作反向代理,负载平衡器 和 HTTP缓存.该软件由Igor Sysoev 创建,并于2004年首次公开发布.同名公司成立于2011年,以提供支持.Ngi ...

  8. ti

    一.选择题DCBCDCDACAACBBABACBDCBBDA二.简答题(每小题5分,共20分)1. 1)简洁紧凑,灵活方便2)运算符丰富3)数据类型丰富4)C语言是结构化语言5)语法限制较少,程序设计 ...

  9. dev c++处理汉字

    工具--编译选项--编译器 在连接器命令行加入以下命令 -static-libgcc  -finput-charset=GBK  -fexec-charset=GBK 有些处理汉字的程序运行正常,但E ...

  10. SQL USE语句(选择数据库)

    对于大型的软件系统,会存在多个数据库,用来存储不同的数据,那么我们在开始操作之前,需要选择一个需要操作的数据库,进行后续数据的增.删.改.查工作. SQL USE语句用于选择SQL模式中的任何现有数据 ...