一种 Linux JAVA进程突然消失的原因

当JAVA程序在Linux服务器上运行一段时间后无故消失,可能是由于操作系统内存过低导致进程被Kill。解决方案包括使用内存分析工具定位并修复内存泄露,或者考虑升级服务器内存。文章还提及了通用的程序启动/停止Shell脚本、Cordova插件开发以及如何设置Node.js项目与Typescript的集成。
摘要由CSDN通过智能技术生成

 

有时候会遇到JAVA程序在服务器上运行一段时间后进程突然没有了,查看JAVA应用的日志并没有任何的异常。

这时候应该优先想到进程是不是被操作系统Kill掉了,查看操作系统日志:

1

2

3

cd /var/log/

# 查看 messages 文件

cat messages* | grep java

如果看到类似如下信息说明由于操作系统内存剩余太低,JAVA进程被操作系统干掉了:

01

02

03

04

05

06

07

08

09

10

Apr 15 20:57:50 iZuwucrzorhw2yZ kernel: java invoked oom-killer: gfp_mask=0x201da, order=0, oom_score_adj=0

Apr 15 20:57:51 iZuwucrzorhw2yZ kernel: java cpuset=/ mems_allowed=0

Apr 15 20:57:51 iZuwucrzorhw2yZ kernel: CPU: 0 PID: 2793 Comm: java Not tainted 3.10.0-693.2.2.el7.x86_64 #1

Apr 15 20:57:51 iZuwucrzorhw2yZ kernel: [ 1356]     0  1356   629574    17847      94        0             0 java

Apr 15 20:57:51 iZuwucrzorhw2yZ kernel: [ 3804]     0  3804   886644    19509     113        0             0 java

Apr 15 20:57:51 iZuwucrzorhw2yZ kernel: [ 2676]     0  2676   894623    85673     278        0             0 java

Apr 15 20:57:51 iZuwucrzorhw2yZ kernel: [ 2754]     0  2754   965673    40515     362        0             0 java

Apr 15 20:57:51 iZuwucrzorhw2yZ kernel: [14208]     0 14208  3051253   108737    4500        0             0 java

Apr 15 20:57:51 iZuwucrzorhw2yZ kernel: Out of memory: Kill process 14208 (java) score 113 or sacrifice child

Apr 15 20:57:51 iZuwucrzorhw2yZ kernel: Killed process 14208 (java) total-vm:12205012kB, anon-rss:434948kB, file-rss:0kB, shmem-rss:0kB

这种问题通常发生下内存较低的服务器下,操作系统为了保护内存能够支持自己运行,将JAVA进程杀掉。

找到了运营自然好解决,通过分为2种情况:

  1. JAVA程序有内存泄露问题, 这种情况那就通过
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值