1

我想使用 Intel VTune Amplifier 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 profiling 的方法吗?

4

2 回答 2

3

好吧,Eclipse 正在使用 JDK,但是您的 Java 应用程序使用 JDK 还是 JRE?请你看一下好吗?您的应用程序应该使用 JDK 而不是 JRE,以便 Intel VTune Amplifier XE 2013 可以附加到 java 进程。谢谢。

于 2014-01-13T12:06:50.927 回答
1

我使用 vTune 分析的过程如下:

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

这与安装在 Windows 7 上的多个 JDK/JRE 完美配合。

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

于 2014-01-27T08:26:21.413 回答