使用英特尔 VTune 放大器 XE 2013 分析 Java 应用程序



我想使用英特尔 VTune 放大器 XE 2013(应用的最新更新 15)分析 Java 多核算法。

为此,我使用 Oracle JDK 1.7.0_40(64 位)从 Eclipse 启动 Java 应用程序,然后将 vtune 分析器附加到正在运行的 Java 进程中。操作系统是Windows 8.1 x64。vtune 收集统计信息是有效的,但显然 vtune 无法正确附加到 JVM,因此大多数记录的函数调用都被标记为"在任何已知模块之外"。在开始收集之前,VTune 收集器会报告以下警告:

Warning: Cannot profile the managed part of the target process.
There is no Java* Attach API available. Only native part of the target process will be profiled.
Suggestion: Make sure your application is running under JDK 1.6 or higher. 

是否有人经历过这种情况并找到了使用 VTune 启用完整 Java 生成的方法?

好吧,Eclipse使用的是JDK,但是你的Java应用程序使用JDK或JRE吗?你能看看吗?您的应用程序应使用 JDK 而不是 JRE,以便英特尔 VTune 放大器 XE 2013 可以连接到 Java 进程。谢谢。

我的流程如下,使用 vTune 进行分析:

  1. 将应用程序导出为具有依赖项的可运行 JAR
  2. 创建一个像这样的.bat文件:java -Xcomp -jar myjar.jar
  3. 在 vTune 中,选择.bat文件作为要启动的应用程序。

这非常适合安装在Windows 7上的多个JDK/JRE。

注意:此解决方案不适用于服务器应用程序。

最新更新