记录OOM问题——java.lang.OutOfMemoryError: Java heap space

公司业务复杂,开始的时候并没有注意到该错误,而是按照业务流程去排查,后又去代码中查找,由于我才来公司,只能边排查边了解了。
在进行了本地调试、添加log在测试机跑,最后发现日志中有一条数据缺失,于是追溯发现另一个子系统在执行的过程中爆出了OOM,如下:

java.lang.OutOfMemoryError: Java heap space
	at java.util.Arrays.copyOf(Unknown Source)
	at java.io.ByteArrayOutputStream.grow(Unknown Source)
	at java.io.ByteArrayOutputStream.ensureCapacity(Unknown Source)
	at java.io.ByteArrayOutputStream.write(Unknown Source)
	at org.springframework.util.StreamUtils.copy(StreamUtils.java:138)
	at org.springframework.http.converter.ResourceHttpMessageConverter.writeContent(ResourceHttpMessageConverter.java:110)
	at org.springframework.http.converter.ResourceHttpMessageConverter.writeInternal(ResourceHttpMessageConverter.java:102)
	at org.springframework.http.converter.ResourceHttpMessageConverter.writeInternal(ResourceHttpMessageConverter.java:45)
	at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:227)
	at org.springframework.http.converter.FormHttpMessageConverter.writePart(FormHttpMessageConverter.java:373)
	at org.springframework.http.converter.FormHttpMessageConverter.writeParts(FormHttpMessageConverter.java:353)
	at org.springframework.http.converter.FormHttpMessageConverter.writeMultipart(FormHttpMessageConverter.java:342)
	at org.springframework.http.converter.FormHttpMessageConverter.write(FormHttpMessageConverter.java:257)
	at org.springframework.http.converter.FormHttpMessageConverter.write(FormHttpMessageConverter.java:89)
	at org.springframework.web.client.RestTemplate$HttpEntityRequestCallback.doWithRequest(RestTemplate.java:897)
	at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:658)
	at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:621)
	at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:539)
	......

多的不再展示,错误中有相关错误的类和方法,追溯进去发现,祖传代码,不敢动,作为新人的我只能另寻他法。既然暂时没法从根源上解决,那就简单粗暴点——JVM调参,我们使用的是tomcat8(Windows平台下),6.0版本之后修改jvm参数需要在tomcatw.exe中设置参数,运行该exe即可,如下图:
在这里插入图片描述
具体修改多少根据自己业务所需和服务器硬件来配置,我最后设置的是256和2048即:

//  堆区
-Xms256m
-Xmx2018m

// 非堆区(自行配置)
-XX:PermSize
-XX:MaxPermSize

至于年轻代、老年代等有机会补充

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值