配置文件Java CPU负载

配置文件Java CPU负载,java,profiling,Java,Profiling,我需要分析一个商业Java应用程序的CPU负载,我没有它的源代码 我可以看到应用程序是CPU受限的,但是我如何理解CPU是否忙于执行FP操作、整数操作或其他操作 如果我能找到一个典型的负载,我可以使用一些开源基准测试工具来模拟不同硬件平台上的负载,以了解哪个CPU为我提供了最佳价值,这是我的最终目标。如果您使用的是JDK 1.6.x,我强烈推荐jvisualvm,它是$JAVA_HOME/bin中的一个可执行文件 这将有助于您识别CPU瓶颈,尽管如果您没有源代码,您解决根本问题的能力将有限。JP

我需要分析一个商业Java应用程序的CPU负载,我没有它的源代码

我可以看到应用程序是CPU受限的,但是我如何理解CPU是否忙于执行FP操作、整数操作或其他操作


如果我能找到一个典型的负载,我可以使用一些开源基准测试工具来模拟不同硬件平台上的负载,以了解哪个CPU为我提供了最佳价值,这是我的最终目标。

如果您使用的是JDK 1.6.x,我强烈推荐jvisualvm,它是$JAVA_HOME/bin中的一个可执行文件


这将有助于您识别CPU瓶颈,尽管如果您没有源代码,您解决根本问题的能力将有限。

JProfiler程序(商业软件)为我提供了很好的服务。(2-3年前。但软件应该仍然很好:)

我一直在使用dynaTrace produciton edition,它对我帮助很大。低开销,高可视性的CPU和内存瓶颈


我建议您使用dynaTrace。

您可以使用jprobe/jprofiler之类的工具进行内省,它将向您显示正在调用哪些方法/操作,以及哪些消耗了时间和内存。不过,它们本身可能不支持CPU,但您肯定可以为此查看sar/top/mpstat(即,无论CPU跳到哪里,都可以拍摄快照)?您需要下载JDK(而不是JRE)或独立版本的jvisualvm。它可以连接到正在运行的程序!需要Oracle JVM。