我编写了一个程序,它在启动时运行大约96%的CPU,然后在崩溃之前非常迅速地将CPU提示到100%。我需要跟踪CPU不断完成的任务,无论是正在运行的程序还是正在进行的特定方法或调用。Java CPU占用率高达100%
任何建议或链接?
谢谢。
我编写了一个程序,它在启动时运行大约96%的CPU,然后在崩溃之前非常迅速地将CPU提示到100%。我需要跟踪CPU不断完成的任务,无论是正在运行的程序还是正在进行的特定方法或调用。Java CPU占用率高达100%
任何建议或链接?
谢谢。
Java VisualVM应该有所帮助。它是一个包含在标准JDK中的工具。它允许您分析和检查正在运行的Java程序。它应该和你的javac可执行文件在同一个目录下。
以下是用于调用该工具的命令行的quick synopsis。
他没有提到JDK版本,jvisualvm仅适用于JDK 1.6及更高版本。虽然它是一个伟大的实用程序使用。 +1。 – Favonius
@Favonius:好的电话!仍然有很多旧版本的Java。我不能认为每个人都会使用最新的。 –
我正在使用JDK 1.6,所以会试用。谢谢! – mhollander38
您可以开始分析您的应用程序。
由于您没有提到Java版本,所以我安全地假设SUN JDK 1.5。
对于启动可以使用:
其次,您可以使用JConsole监视应用程序中的内存使用情况。它在你的<JDK HOME>\bin
。
如果您使用的是SUN JDK 1.6,那么作为A. Levy提到的,使用jvisualvm进行CPU和堆分析。
然后可能发布您的代码片段。
+1替代分析器。如果我需要在1.6以前的JVM上进行配置文件,我会尝试记住JRAT。 –
你可以租用你的代码(特别是发生崩溃的地方),还有一个堆栈跟踪以帮助我们进行调试吗?如果你不这样做,我们无法真正帮助你。谢谢! – JasCav
您正在使用哪个版本的java? – LB40
“撞车”的意思是? –