|
发表于 2018-12-12 18:25:51
|
显示全部楼层
从错误来看, 是由于内存不够用导致的, 需要找到导致内存短时间不够用的原因,可以从以下方面进行跟踪:
1. 将报表服务器独立到另一个Tomcat中;
2. 检查当前业务服务器Tomcat的JVM设置是否合理;
3. 开启平台的JVM跟踪日志;
修改%JUSTEP_HOME%/runtime/BusinessServer/WEB-INF/justep.log.properties文件,在最后添加以下代码:
log4j.logger.com.justep.log.jvm=DEBUG,CONSOLE
log4j.additivity.com.justep.log.jvm=false
修改完后, 重启服务器,执行任何action时, 服务器控制台应该可以看到类似以下的日志:
2018-12-12 18:15:45 [JVM]start...DC9DC824E8084AD1BBF965E83D927896, process: /demo/process/process/and/andProcess, activity: bizActivity1, action: queryOrderAction
2018-12-12 18:15:45 [JVM]end.....DC9DC824E8084AD1BBF965E83D927896, process: /demo/process/process/and/andProcess, activity: bizActivity1, action: queryOrderAction, operator: PSN01, system, total: 4095MB, free: 1172MB, use: 2922MB, leak free: 1MB, leak use: 0MB
4. 安装VisualVM工具(它可以监控业务服务器JVM的实时内存状态和线程调用信息)
当出现服务器卡的时候, 注意观察VisualVM工具中的内存状态,记录内存暴涨的开始时间(后续分析日志时需要使用)
|
|