如何在Linux中找到Java应用程序死的根本原因

问题描述 投票:0回答:2

我在linux上运行的java应用程序每两个小时就会消失一次,我怎样才能找到根本原因。首先我认为它被oom杀死,所以我更改/ proc // oom_adj t0 -17,不起作用。第二个I用户strace -p PID,退出代码为1。

java linux kill
2个回答
0
投票

您可以在应用程序上配置JMX并附加JConsole或JVisualVM并监视堆。您还可以在JVM上启用垃圾收集,并将其写入文件gc.log。您可以查看日志以查看进程内存的情况。


0
投票

您可能遇到用户限制或ulimit的问题,最近我在linux中读取java非常大的文件有问题,同样的问题发生了,我的应用程序消失而没有解释。

对于我的情况,解决方案是通过将我的用户添加到文件来修改/etc/security/limits.conf文件,如下所示:

<user> soft nofile 4096
<user> hard nofile 8192

在你的情况下,解决方案可能会有所不同,我建议你看看here或看到man page,你可以有更好的解释。

© www.soinside.com 2019 - 2024. All rights reserved.