Oracle® Solaris Studio 12.4:性能分析器

退出打印视图

更新时间: 2015 年 1 月
 
 

Java 分析的限制

    可以在下列限制下在 Java 程序中收集数据:

  • 应当使用版本不低于 JDK 7 Update 25 (JDK 1.7.0_25) 的 Java2 Software Development Kit (JDK)。收集器先在 JDK_HOME 环境变量或 JAVA_PATH 环境变量中设置的路径中查找 JDK。 如果未设置这些变量,它将在 PATH 中查找 JDK。如果 PATH 中没有 JDK,它将在 /usr/java/bin/java 中查找 java 可执行文件。

    收集器将验证它找到的 java 可执行文件的版本是 ELF 可执行文件。如果不是,则将输出错误消息,指示所使用的环境变量或路径,以及所尝试的全路径名。

  • 必须使用 collect 命令来收集数据。无法使用 dbx collector 子命令。

  • 如果应用程序所创建的子孙进程运行 JVM 软件,则不能对这些应用程序进行分析。

  • 某些应用程序不是纯 Java,而是 C 或 C++ 应用程序,它们调用 dlopen() 以装入 libjvm.so,然后通过调用 JVM 软件来启动 JVM 软件。要分析此类应用程序,请设置 SP_COLLECTOR_USE_JAVA_OPTIONS 环境变量,并将 –j on 选项添加到 collect 命令行。对于这种情况,请不要设置 LD_LIBRARY_PATH 环境变量。

  • 如果目标是 JVM 计算机,必须使用 -j on 才能获取分析数据。如果目标是类文件或 jar 文件,则不需要 -j on 选项。如果使用 64 位 JVM 计算机,您必须将其路径显式指定为目标;对于 32 位 JVM 计算机,请勿使用 -d64 选项。如果指定了 -j on 选项,但目标不是 JVM 计算机,可能会向目标传递一个无效参数,且不会记录任何数据。collect 命令将验证为 Java 分析指定的 JVM 计算机的版本。