【问题标题】:How to find the root cause of Java application die in Linux如何在 Linux 中找到 Java 应用程序死机的根本原因
【发布时间】:2018-09-19 01:07:12
【问题描述】:

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

【问题讨论】:

标签: java linux kill


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-16
      • 1970-01-01
      • 1970-01-01
      • 2018-05-04
      • 1970-01-01
      相关资源
      最近更新 更多