0

我写了一个 Java 程序,它分析其他程序。执行可能需要很长时间(= 天)。现在(三天后),我遇到了问题,我的程序/进程正在休眠(S)。它仍然分配了 50% 的内存,有时它会打印新的输出,但top显示时间必须为 0% CPU。

我使用jstack来确定仍然有可运行的线程。因此,这似乎不是一个死锁问题。我不知道,为什么进程没有得到更多的cpu时间。我偶然发现了从 0 到-10的 java 进程的好处,但什么也没发生。

更多详细信息:该进程在 linux 服务器上运行:Ubuntu 10.04.4 LTS。我从screen开始我的过程。所以,我不必一直登录。

screen -S analyse ant myParameters

服务器几乎无事可做。

谢谢你的帮助。

4

1 回答 1

0

以调试模式启动您的程序。然后,您可以使用任何 Java 调试器附加到它并检查它在做什么。

于 2012-06-11T11:23:42.977 回答