如何排查异常退出问题
本帖最后由 moylaugh 于 2023-11-10 09:57 编辑环境:
O2OA版本:8.1.2
服务器环境:Ubuntu 20.04 LTS
数据库:PostgreSQL 15
JVM选项包括:-Xms2g -Xmx4g -XX:+HeapDumpOnOutOfMemoryError
日志记录设置为DEBUG级别
问题描述及分析:
O2OA 多次(> 5次)自动退出,分两种情况:
1、在使用中,具体做什么操作已不可查,日志未见特别的异常。
2、半夜自动退出,从日志中看,最后的操作是dump数据,因为配置了半夜2点半自动dump。同样未见异常。贴出最后几行日志如下。
2023-11-10 02:30:08.796 INFO System.out - dump data(180/245): com.x.teamwork.core.entity.TaskRelevance, count: 0.
2023-11-10 02:30:08.811 INFO System.out - dump data 11/21 part of data:com.x.processplatform.core.entity.element.Manual.
2023-11-10 02:30:08.859 INFO System.out - dump data(181/245): com.x.query.core.entity.Query, count: 10.
2023-11-10 02:30:08.872 INFO System.out - dump data 12/21 part of data:com.x.processplatform.core.entity.element.Manual.
2023-11-10 02:30:08.880 INFO System.out - dump data 1/1 part of data:com.x.query.core.entity.Query.
另外,虽然配置了 -XX:+HeapDumpOnOutOfMemoryError,未见java内存溢出的dump文件。
求助
在这种情况下,如何排查问题发生的原因,以及解决异常退出的问题呢?现在程序隔三岔五的挂掉,没办法实际部署使用。
您可以先查看一下操作系统日志是否有相关的信息可以参考.
根据以往经验,建议您查以下/var/log/messages日志中有没有out of memory,如果有应该是oom killer 杀死了进程.
感谢指点,在我们的系统中没有 /var/log/messages 文件,应该是 Ubuntu 默认没有开启。不过在同一个目录 /var/log 下的 kern.log 文件中确实找到了 Out of memory: Killed process 3260272 (java) 之类的信息。应该是内存过大被系统杀掉了。奇怪的是 java 的最大内存已经限制了4G,不知为啥还会超出。后续我们开启 /var/log/messages 再研究下。
页:
[1]