Linux 怎么获得为什么 Java 进程退出的原因?

2021-04-09 09:50:29 +08:00
 zealinux

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

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

3015 次点击
所在节点    程序员
16 条回复
uselessVisitor
2021-04-09 09:54:57 +08:00
内存泄露了?
nekoneko
2021-04-09 09:59:09 +08:00
dmesg -T 试试?
zealinux
2021-04-09 10:05:33 +08:00
@nekoneko 这个命令看不到什么,一天最多也就能看两三条,最近的 log 还是前两天的。
cheng6563
2021-04-09 10:07:39 +08:00
启动脚本把退出码打日志里
kkkkkrua
2021-04-09 10:08:24 +08:00
+PrintOutOfMemoryErrors
dallaslu
2021-04-09 10:44:06 +08:00
题外话,最近用到一个启动 go 程序的脚本,也是这样,莫名就挂了。后来仔细一看,没有用到 nohup,会话超时程序就退出了
no1xsyzy
2021-04-09 10:54:02 +08:00
strace
kun775
2021-04-09 10:58:37 +08:00
没人吐槽标题歧义吗
vector2axis
2021-04-09 11:31:19 +08:00
病句
litchinn
2021-04-09 11:32:49 +08:00
@kun775 不是歧义,是病句,去掉“为什么”(滑稽)
pkookp8
2021-04-09 11:48:48 +08:00
可以重定向吗
把 stdout 和 stderror 输出到文件
fantastM
2021-04-09 13:14:48 +08:00
我遇到过类似的情况,排查之后的原因是内核的 OOM Killer
no1xsyzy
2021-04-09 14:14:52 +08:00
@fantastM 然而 #3 说了 dmesg 没有信息,不是内核 kill 的
toys
2021-04-09 15:01:11 +08:00
之前碰到过系统使用内存过高直接被 kill 的情况
https://imgur.com/aHq4JXb
Akiya
2021-04-09 18:40:23 +08:00
盲猜内存占用过大
ch2
2021-04-09 18:50:13 +08:00
java 十有八九是内存占满了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/769302

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX