Linux下应用进程消失原因分析

应用部署在Linux环境下,如果出现未知原因导致应用进程被杀(应用日志中没有任何异常现象,日志出现中断现象),如果对于进程消失原因没有特别明确的方向,可以考虑从系统日志(/var/log/messages)方面查找原因。 命令参考

egrep -i 'killed process' /var/log/messages

## 或:
egrep -i -r 'killed process' /var/log

## 或:
journalctl -xb | egrep -i 'killed process'

## 或:
dmesg | egrep -i -B100 'killed process'

## 或:
cat /var/log/messages | grep Kill

若是发现没有/var/log/messages文件,解决方法参考 https://blog.csdn.net/C_Major/article/details/51321684

日志示例

[root@abc bin]# dmesg | egrep -i -B100 ‘killed process’ 
…… 
省略部分日志 
…… 
[5979106.650296] Out of memory: Kill process 1392 (java) score 892 or sacrifice child 
[5979106.650361] Killed process 1392 (java) total-vm:3794656kB, anon-rss:1727856kB, file-rss:0kB

[root@abc bin]# egrep -i ‘killed process’ /var/log/messages 
Oct 16 22:06:39 iZm5e3cpdh44ekrxg7q4nzZ kernel: Killed process 1392 (java) total-vm:3794656kB, anon-rss:1727856kB, file-rss:0kB

说明

通常在多应用集中部署在一台机器上,管理不当或应用压力突增情况下容易出现该问题,Linux系统在内存不足等条件下会主动干预进程(OOM-Killer机制)。在多实例应用部署时,需要注意对内存的分配。

二、可能系统重启造成进程没了

最近发现每隔一段时间,某一台机器线上的服务总是挂掉,进程直接就消失了,通过执行last reboot 查看机器最近都什么时间是否重启过,发现机器竟然有好多重启记录。

提供几种最简便的查看上一次系统的启动时间或者系统到现在已经运行了多长时间:

1.who命令:

2.last reboot命令

3.top命令:


系统启动到现在运行了多长时间,来推断重启是在哪一天
4.uptime命令:


跟top是一样的
5.w命令


跟top也是一样的

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东境物语

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值