内存参数问题导致内存溢出

问题:内存参数问题导致内存溢出

1、文件过大,进行分块

2、 运行参数,使用最大内存配置2时,导致空指针异常。内存参数问题导致内存溢出_第1张图片

 3、获取详细报错信息-内存溢出

多线程捕获Throwable异常

修改代码,捕获Throwable,获取异常

内存参数问题导致内存溢出_第2张图片

内存参数问题导致内存溢出_第3张图片

异常日志: 

 正常日志:

 

解决方案

jvm调优,将内存运行参数调大,运行正常。

-Xms: 设置初始化堆内存大小;

-Xmx: 设置最大可分配堆内存大小

调优前命令:

java -XX:+UseConcMarkSweepGC -Xms1638m -Xmx2048m -XX:+PrintGCDetails -Dspring.config.location=/home/nccs/test/check_file/lib/application.yml -jar lib/tranlog-dt-filecompare-1.0-SNAPSHOT.jar startReportForm 58 '{"queueId":"5213","onExecuter":"195.243.72.100"}'

调优后命令:

java -XX:+UseConcMarkSweepGC -Xms1638m -Xmx4096m -XX:+PrintGCDetails -Dspring.config.location=/home/nccs/test/check_file/lib/application.yml -jar lib/tranlog-dt-filecompare-1.0-SNAPSHOT.jar startReportForm 58 '{"queueId":"5213","onExecuter":"195.243.72.100"}'

你可能感兴趣的:(Java偶遇问题,java)