Java CPU负载概况

3

我需要对一款商业Java应用程序进行CPU负载剖析,但是我没有源代码。

我能看到该应用程序受CPU限制,但我如何理解CPU是否在忙于执行FP操作、整数操作或其他操作?

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


您可以使用像jprobe/jprofiler这样的工具进行内省 - 这将向您显示正在调用哪些方法/操作以及消耗时间和内存的情况。虽然它们可能不会直接执行CPU,但您肯定可以查看sar/top/mpstat来实现此目的(即在CPU跳动的地方拍摄快照)。 - aishwarya
3个回答

5

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

它将帮助您识别CPU瓶颈,尽管如果您没有源代码,您将有限的能力来解决潜在问题。


1
你需要下载JDK(而不是JRE)或独立版本的jvisualvm。它可以附加到正在运行的程序!需要Oracle JVM。 - Thorbjørn Ravn Andersen

3

1

我一直在使用dynaTrace生产版,它对我帮助很大。低开销,高可见性,可以查看CPU和内存瓶颈。

我强烈推荐dynaTrace。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接