除了使用 er_kernel -F=regexp 以外,如果使用 collect load 而非 load 的目标运行 er_kernel,则可以一起分析内核和负载。在指定 collect 和 er_kernel 时只有其中一个可包括硬件计数器。如果 er_kernel 正在使用硬件计数器,则 collect 命令无法使用。
这种技术的优点是,它可以在用户进程未在 CPU 上运行时收集其中的数据,由 er_kernel 收集的用户实验只包括用户 CPU 时间和系统 CPU 时间。另外,在使用 collect 时,可以在用户模式下获得 OpenMP 和 Java 分析的数据。使用 er_kernel 时,上述任一分析只能获得计算机模式的分析结果,并且没有关于 Java 环境中 HotSpot 编译的任何信息。
% er_kernel collect load
% analyzer ktest.1.er test.1.er
性能分析器显示的数据同时显示 ktest.1.er 中的内核分析数据和 test.1.er 中的用户分析数据。使用 "Timeline"(时间线)视图可以查看两个实验之间的相关性。