电脑装配网

java heap space 解决方法(tomcat出现 Java heap space解决很轻松)

 人阅读 | 作者奔跑的小羊 | 时间:2022-11-23 00:11

故事背景

项目在夜里跑定时任务的时候出现异常,然后垃圾回收缓慢,最后造成down机,持续两天,本来不想为此浪费时间,老重启也不好,先看日志。

26-May-2021 00:06:29.287 严重 [http-nio-8080-exec-6] org.apache.coyote.AbstractProtocol$ConnectionHandler.process 无法完成请求的处理java.lang.OutOfMemoryError: GC overhead limit exceededat java.lang.reflect.Method.copy(Method.java:153)at java.lang.reflect.ReflectAccess.copyMethod(ReflectAccess.java:140)at sun.reflect.ReflectionFactory.copyMethod(ReflectionFactory.java:302)25-May-2021 15:40:10.780 严重 [http-nio-8080-exec-4] org.apache.coyote.AbstractProtocol$ConnectionHandler.process 无法完成请求的处理java.lang.OutOfMemoryError: Java heap spaceat java.util.Arrays.copyOfRange(Arrays.java:3664)at java.lang.StringBuffer.toString(StringBuffer.java:671)

问题解决

由于已经将tomcat注册为 windows service服务,所以直接在tomcat修改jvm参数似乎并没有什么用,所以干脆修改注册表。

在开始中输入 regedit 打开注册表。

然后按照下图指示,找到jvmMx,修改为1024。

 

 

 

重启tomcat查看日志

参数已经修改。

26-May-2021 14:37:25.199 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       exit26-May-2021 14:37:25.199 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       abort26-May-2021 14:37:25.199 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Xms128m26-May-2021 14:37:25.199 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:       -Xmx1024m

最后

有人问,既然定位问题原因了,要修复bug啊,我想说,项目已经这个样子了(如下图),最好就不要动了,除非你想加班。

 


文章标签:

本文链接:『转载请注明出处』