linux进程退出没有log,Linux下应用进程消失原因分析-Go语言中文社区
應(yīng)用部署在Linux環(huán)境下,如果出現(xiàn)未知原因?qū)е聭?yīng)用進程被殺(應(yīng)用日志中沒有任何異常現(xiàn)象,日志出現(xiàn)中斷現(xiàn)象),如果對于進程消失原因沒有特別明確的方向,可以考慮從系統(tǒng)日志(/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
日志示例
[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
說明
通常在多應(yīng)用集中部署在一臺機器上,管理不當或應(yīng)用壓力突增情況下容易出現(xiàn)該問題,Linux系統(tǒng)在內(nèi)存不足等條件下會主動干預進程(OOM-Killer機制)。在多實例應(yīng)用部署時,需要注意對內(nèi)存的分配。
二、可能系統(tǒng)重啟造成進程沒了
最近發(fā)現(xiàn)每隔一段時間,某一臺機器線上的服務(wù)總是掛掉,進程直接就消失了,通過執(zhí)行l(wèi)ast reboot查看機器最近都什么時間是否重啟過,發(fā)現(xiàn)機器竟然有好多重啟記錄。
提供幾種最簡便的查看上一次系統(tǒng)的啟動時間或者系統(tǒng)到現(xiàn)在已經(jīng)運行了多長時間:
1.who命令:
2.last reboot命令
3.top命令:
系統(tǒng)啟動到現(xiàn)在運行了多長時間,來推斷重啟是在哪一天
4.uptime命令:
跟top是一樣的
5.w命令
跟top也是一樣的
總結(jié)
以上是生活随笔為你收集整理的linux进程退出没有log,Linux下应用进程消失原因分析-Go语言中文社区的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BI(商务智能)系统简介
- 下一篇: 计算机排版自然段视频教程,排版教程(新手