java.lang.OutOfMemoryError: GC overhead limit exceeded

本文详细记录了一次因Java堆内存不足导致的系统故障,分析了OutOfMemoryError的原因,并提供了具体的参数调整方案,包括增加堆内存限制和永久代内存大小,以及禁用GC开销限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前端请求:
{"code":400,"message":"Handler dispatch failed; nested exception is java.lang.OutOfMemoryError: Java heap space"}
后台日志:


at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433) ~[mybatis-spring-1.3.1.jar:1.3.1]
... 21 common frames omitted
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded

2018-01-15 16:34:17.241 INFO 13892 --- [pool-1-thread-1] c.z.c.schedule.ScreenStatisticsDataJob : syncCurrentStatisticsDataJob complete
2018-01-15 16:34:18.140 INFO 13892 --- [pool-1-thread-1] c.zhengjia.common.schedule.SentimentJob : sentiment complete
2018-01-15 16:34:18.346 INFO 13892 --- [pool-1-thread-1] c.zhengjia.common.schedule.SentimentJob : sentiment weibo complete
2018-01-15 16:34:18.347 INFO 13892 --- [pool-1-thread-1] c.z.common.schedule.ThermalChartJob : thermalChartDataScreen()
2018-01-15 16:34:27.373 INFO 13892 --- [pool-1-thread-1] c.z.common.schedule.ThermalChartJob : thermalChartDataScreen complete
2018-01-15 16:34:27.373 INFO 13892 --- [pool-1-thread-1] c.z.common.schedule.ThermalChartJob : customerFlow()
2018-01-15 16:35:26.607 ERROR 13892 --- [pool-1-thread-1] o.s.s.s.TaskUtils$LoggingErrorHandler : Unexpected error occurred in scheduled task.

java.lang.OutOfMemoryError: GC overhead limit exceeded

2018-01-15 16:35:26.607 INFO 13892 --- [pool-1-thread-1] c.z.c.schedule.ScreenStatisticsDataJob : syncCurrentStatisticsDataJob()
2018-01-15 16:35:26.607 INFO 13892 --- [pool-1-thread-1] c.z.c.schedule.ScreenStatisticsDataJob : totalIn = 37715
2018-01-15 16:35:26.607 INFO 13892 --- [pool-1-thread-1] c.z.c.schedule.ScreenStatisticsDataJob : quatity = 2039
2018-01-15 16:35:26.607 INFO 13892 --- [pool-1-thread-1] c.z.c.schedule.ScreenStatisticsDataJob : revenue = 17880

旧配置:

HEAP_MEMORY=512m
PERM_MEMORY=32m
JAVA_OPTS="-server -XX:+HeapDumpOnOutOfMemoryError "
JAVA_OPTS="${JAVA_OPTS} -Xms${HEAP_MEMORY} -Xmx${HEAP_MEMORY} -XX:PermSize=${PERM_MEMORY} -XX:MaxPermSize=${PERM_MEMORY} -Dapp.name=$SERVER_NAME"
修改配置:
HEAP_MEMORY=512m

MAX_HEAP_MEMORY=2048m

PERM_MEMORY=256m

MAX_PERM_MEMORY=512m
JAVA_OPTS="-server -XX:-UseGCOverheadLimit "
JAVA_OPTS="${JAVA_OPTS} -Xms${HEAP_MEMORY} -Xmx${MAX_HEAP_MEMORY} -XX:PermSize=${PERM_MEMORY} -XX:MaxPermSize=${MAX_PERM_MEMORY} -Dapp.name=$SERVER_NAME"

转载于:https://www.cnblogs.com/yuhuameng/p/8288725.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值