LHIDC

Linux 服务器进程异常退出,如何从日志判断原因

进程异常退出不一定是服务崩了,也可能是 OOM、配置错误、依赖失败或脚本异常。本文从系统日志、服务日志和应用日志三个层面说明如何判断。

进程突然退出时,第一反应通常是“又挂了”。但真正要问的是:它为什么挂。是系统杀掉的,还是程序自己退出的?是启动参数错了,还是资源不够?日志能给出很大一部分答案。

先看有没有被系统杀掉

dmesg -T | grep -i 'killed process\|out of memory'

如果有 OOM 记录,说明系统内存不够,进程不是自己“想走”,而是被内核杀掉了。

再看服务日志

journalctl -u 服务名 -n 100 --no-pager

如果服务是 systemd 管理的,journal 日志通常会写得比较直接。比如参数错误、文件找不到、端口占用、权限不够等。

再看应用自己的日志

网站、队列、守护进程和定时任务,往往在自己的日志里会写更具体的原因。

一张判断表

线索更可能原因
OOM 记录内存不足
`exit code 1`程序自身报错
`address already in use`端口冲突
`permission denied`权限问题
`file not found`路径或依赖缺失

不要忽略“反复退出”

进程如果几分钟内不断重启,通常不是偶然,而是某个固定问题没有解决。这个时候不要盲目加守护重启次数,而应继续看日志和启动参数。

上一篇 Linux Load Average 很高代表什么?和 CPU 占用有什么区别 下一篇 香港服务器怎么选?先看线路、带宽还是机房位置

LHIDC 产品中心

继续查看可购买的海外服务器产品

文章用于辅助选型,最终价格、库存与配置请以产品详情页和下单页面展示为准。

查看产品 查看方案