清醒睡眠分离的java过程

时间:2012-06-11 10:34:56

标签: java linux process cpu scheduling

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

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

更多细节: 该过程在Linux服务器上运行:Ubuntu 10.04.4 LTS。 我用 screen 开始了我的流程。所以,我不必一直登录。

screen -S analyse ant myParameters

服务器几乎无事可做。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

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