标签: java linux kill
我在Linux中运行的Java应用程序总是每两个小时消失一次,如何找到根本原因。 首先,我认为它已被oom杀死,因此我将/ proc // oom_adj t0 -17更改为无效。 第二个I用户strace -p PID,退出代码为1。
答案 0 :(得分:0)
您可以在应用程序上配置JMX并附加JConsole或JVisualVM并监视堆。您还可以在JVM上启用垃圾收集并将其写入文件gc.log。您可以查看日志以查看进程中的内存正在发生什么。
答案 1 :(得分:0)
您可能遇到用户限制或ulimit的问题,最近我在Linux中的Java上无法读取非常大的文件时遇到了问题,发生了同样的问题,我的应用程序消失了,没有任何解释。
ulimit
对于我来说,解决方案是通过将用户添加到文件中来修改/etc/security/limits.conf文件,如下所示:
<user> soft nofile 4096 <user> hard nofile 8192
如果您的解决方案可能有所不同,建议您看看here或看看man page,您可以得到更好的解释。