转载

Java 进程异常退出问题排查

Java 进程异常退出问题排查

现象

收到报警邮件,提示 tn_25 上的服务不可用了。登录到 tn_25 服务器,发现 Java 进程已经不在了。

追查

/var/log/messages 文件中找到了以下信息:

Sep 28 14:09:38 localhost kernel: Out of memory: Kill process 133003 (java) score 232 or sacrifice child
Sep 28 14:09:38 localhost kernel: Killed process 133003 (java) total-vm:37324000kB, anon-rss:22862892kB, file-rss:0kB, shmem-rss:0kB
Sep 28 14:09:40 localhost systemd: tomcat@procurement.service: main process exited, code=killed, status=9/KILL

procurement 正是我们的服务。以上信息说明,我们的 Java 服务由于内存不足,被 linux 系统给 kill 掉了。

内存占用情况

服务启动前内存占用情况:

[root@tn_25 ~]# free -g
              total        used        free      shared  buff/cache   available
Mem:             62          39          19           2           3          19
Swap:            31          31           0

服务启动后的内存占用情况:

free -g
              total        used        free      shared  buff/cache   available
Mem:             62          52           6           2           3           6
Swap:            31          31           0

swap 已经被用完,说明本机的内存严重不足。需要查看本机都有哪些服务占用内存,进行规划。

原文链接: Java 进程异常退出问题排查 ,转载请注明来源!

原文  https://www.bo56.com/java-进程异常退出问题排查/
正文到此结束
Loading...