技术解析

Linux 怎么获得为什么 Java 进程退出的原因?
0
2021-06-03 21:21:02
idczone

启动的一个 Java 应用, 过个半天一天会自动退出, 标准抗投诉服务器输出日志里还看不出来。

想知道 Linux ( Ubuntu )下有办法观察进程退出的原因?


内存泄露了?

dmesg -T 试试?

这个命令看不到什么,一天最多也就能看两三条,最近的 log 还是前两天的。

启动脚本把退出码打日志里

+PrintOutOfMemoryErrors

题外话,最近用到一个启动 go 程序的脚本,也是这样,莫名就挂了。后来仔细一看,没有用到 nohup,会话超时程序就退出了

strace

没人吐槽标题歧义吗

病句

不是歧义,是病句,去掉“为什么”(滑稽)

可以重定向吗
把 stdout 和 stderror 输出到文件

我遇到过类似的情况,排查之后的原因是内核的 OOM Killer

然而 说了 dmesg 没有信息,不是内核 kill 的

之前碰到过系统使用内存过高直接被 kill 的情况
https://imgur.com/aHq4JXb

盲猜内存占用过大

java 十有八九是内存占满了

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服