应当使用版本不低于 JDK 6 Update 18 的 Java 2 Software Development Kit (JDK)。收集器先在 JDK_HOME 环境变量或 JAVA_PATH 环境变量中设置的路径中查找 JDK。如果未设置这些变量,它将在 PATH 中查找 JDK。如果 PATH 中没有 JDK,它将在 /usr/java/bin/java 中查找 java 可执行文件。收集器会验证它找到的 java 可执行文件版本是否为 ELF 可执行文件,如果不是,则列显一条错误消息,指出所使用的环境变量或路径,以及已尝试使用的全路径名。
要获取热点编译代码的源代码行映射的更多详细信息,应该使用不低于 JDK 6, Update 20 的 JDK 版本或 JDK 7, build b85 早期访问版本。
必须使用 collect 命令来收集数据。无法使用 dbx collector 子命令。
如果应用程序所创建的子孙进程运行 JVM 软件,无法对这些应用程序进行分析。
某些应用程序不是纯 Java,而是 C 或 C++ 应用程序,它们调用 dlopen() 以装入 libjvm.so,然后通过调用 JVM 软件来启动 JVM 软件。要分析此类应用程序,请设置 SP_COLLECTOR_USE_JAVA_OPTIONS 环境变量,并将 -j on 选项添加到 collect 命令行。对于这种情况,请不要设置 LD_LIBRARY_PATH 环境变量。