【发布时间】:2012-06-25 20:01:44
【问题描述】:
我的 java 编写的应用程序在工作一段时间后被“杀死”。
Java 应用程序是在 Linux 下从 SH 脚本启动的,该脚本运行了一段时间。然后显示PID并说出“杀死”字样。
像这样:
runMyServer.sh: line 3: 3593 Killed java -Xmx2024m -cp ...
系统日志中有关于内存不足事件的信息。所以看起来像是内存不足错误。
我的问题是:OutOfMemroyError 异常什么时候不能生成?
【问题讨论】:
-
系统日志中的条目是什么样的?可以贴在这里吗?
-
尝试在没有 .sh 脚本的情况下运行应用程序。我认为它是生成的,只是显示了。
-
@11684 当应用程序被“杀死”时,我该如何重现这种情况?
-
请注意,如果 Java 堆已增长到其最大允许大小并且您仍然需要新对象的空间,您只会收到 OutOfMemoryError。相反,如果您的应用程序用完操作系统分配的内存空间,操作系统将终止该应用程序而不发出 Java 异常信号。
-
我不想告诉你,但你会发现有很多事情是你无法控制的。
标签: java linux shell out-of-memory