问题:内存参数问题导致内存溢出
1、文件过大,进行分块
2、 运行参数,使用最大内存配置2时,导致空指针异常。
3、获取详细报错信息-内存溢出
多线程捕获Throwable异常
修改代码,捕获Throwable,获取异常
异常日志:
正常日志:
解决方案
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"}'