使用英特尔VTune放大器XE 2013评测java应用程序

使用英特尔VTune放大器XE 2013评测java应用程序,java,profiling,intel-vtune,Java,Profiling,Intel Vtune,我想用英特尔VTune放大器XE 2013评测java多核算法(已应用最新更新15) 为此,我使用Oracle JDK 1.7.0_40(64位)从Eclipse启动java应用程序,然后将vtune分析器附加到正在运行的java进程。操作系统是Windows 8.1 x64。 vtune收集统计信息是可行的,但显然vtune无法正确连接到JVM,因此大多数录制的函数调用都标记为“在任何已知模块之外”。在开始采集之前,“VTune采集器”会报告以下警告: Warning: Cannot prof

我想用英特尔VTune放大器XE 2013评测java多核算法(已应用最新更新15)

为此,我使用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 profiking的方法?

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

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

我用vTune评测的过程如下:

  • 将应用程序导出为具有依赖项的可运行JAR
  • 创建如下的.bat文件:java-Xcomp-jar myjar.jar
  • 在vTune中,选择.bat文件作为要启动的应用程序
  • 这对于安装在Windows7上的多个JDK/JRE非常有效


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

    使用vTune评测的过程如下:

  • 将应用程序导出为具有依赖项的可运行JAR
  • 创建如下的.bat文件:java-Xcomp-jar myjar.jar
  • 在vTune中,选择.bat文件作为要启动的应用程序
  • 这对于安装在Windows7上的多个JDK/JRE非常有效


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

    在我的Windows机器上,Eclipse使用C:\tools\jdk_1.7.0u40\bin\javaw.exe运行应用程序。这是jdk,但问题的原因可能是使用了javaw.exe而不是java.exe吗?你说得对。最新的VTune更新未将javaw.exe视为要附加的有效目标。您需要使用java.exe。谢谢Denis,这确实是问题所在,配置Eclipse以使用java.exe启动后,探查器已正确连接。在我的情况下,Eclipse在我的Windows计算机上运行应用程序:C:\tools\jdk_1.7.0u40\bin\javaw.exe这是jdk好的,但是问题的原因可能是使用了javaw.exe而不是java.exe吗?你是对的。最新的VTune更新未将javaw.exe视为要附加的有效目标。您需要使用java.exe。谢谢Denis,这确实是问题所在,一旦我将Eclipse配置为使用java.exe启动,探查器就会正确连接。