启动的一个 Java 应用,
过个半天一天会自动退出,
标准抗投诉服务器输出日志里还看不出来。
想知道 Linux ( Ubuntu )下有办法观察进程退出的原因?
内存泄露了?
dmesg -T 试试?
这个命令看不到什么,一天最多也就能看两三条,最近的 log 还是前两天的。
启动脚本把退出码打日志里
+PrintOutOfMemoryErrors
题外话,最近用到一个启动 go 程序的脚本,也是这样,莫名就挂了。后来仔细一看,没有用到 nohup,会话超时程序就退出了
strace
没人吐槽标题歧义吗
病句
不是歧义,是病句,去掉“为什么”(滑稽)
可以重定向吗
把 stdout 和 stderror 输出到文件
我遇到过类似的情况,排查之后的原因是内核的 OOM Killer
然而 说了 dmesg 没有信息,不是内核 kill 的
之前碰到过系统使用内存过高直接被 kill 的情况
https://imgur.com/aHq4JXb
盲猜内存占用过大
java 十有八九是内存占满了