analyzer [-j|--jdkhome jvm-path] [-J jvm-options] [-f|--fontsize size] [-u|--userdir dir_path] [-v|--verbose] [experiment-list]
analyzer [-j|--jdkhome jvm-path] [-J jvm-options] [-f|--fontsize size] [-u|--userdir dir_path] [-v|--verbose] -c [base-group] [compare-group]
analyzer -V|-version
analyzer -?|-h|--help
analyzer [-f|--fontsize size] [-u|--userdir dir_path] [-v|--verbose] target [target-arguments]
性能分析器是一款用于分析收集器使用 collect 命令、IDE 或 dbx 中 collector 命令收集的性能数据的图形化数据分析工具。收集器在进程执行过程中收集性能信息以创建实验。性能分析器读入这些实验,分析数据,然后以表格和图形显示这些数据。analyzer 的命令行版本作为 er_print 实用程序提供。
针对多个实验或实验组调用性能分析器时,它通常会聚集所有实验的数据。您可以更改模式以比较实验。有关更多信息,请参见下文的“比较实验”部分。
指定用于运行性能分析器的 Java 虚拟机 (Java virtual machine, JVM) 软件的路径。首先采用缺省路径,方法是在环境变量中检查 JVM 的路径(先检查 JDK_HOME,再检查 JAVA_PATH)。如果这两个环境变量均未设置,将使用 PATH 上找到的版本。如果未找到,则尝试使用 /usr/java/bin/java。(术语“Java 虚拟机”和 "JVM" 表示用于 Java 平台的虚拟机。)
指定 JVM 软件选项。可以提供多个 -J 参数。请注意,-J 标志与 jvm-option 之间没有空格。示例:
analyzer -J-d64 -- run the 64-bit analyzer analyzer -J-Xmx2G -- run with maximum JVM memory of 2 GB (Default, 1 GB) analyzer -J-d64 -J-Xmx8G -- run the 64-bit analyzer with maximum JVM memory of 8 GB
指定比较模式;指定后,必须提供两个实验或实验组作为参数。性能分析器在比较模式下打开,第一个实验或组作为基组,第二个作为比较组。
每个组可以是一个实验,也可以是包含多个实验的组。如果您希望在一个比较组中包括多个实验,则必须创建实验组文件以用作 analyzer 的单个参数。
指定要在性能分析器中使用的字体大小。
指定用于存储用户设置的用户目录的路径。
指定要打开的实验。要指定多个实验,请提供实验名称、实验组名称或两者的空格分隔列表。
指定要分析的目标程序以及该程序的任何参数。
要启动性能分析器,请在命令行中键入以下内容:
analyzer [experiment-list]
如果调用性能分析器时不指定实验名称,初始视图为 "Welcome"(欢迎)屏幕。可以从 "Welcome"(欢迎)屏幕打开实验,也可以使用性能分析器的 "File"(文件)菜单和工具栏按钮打开、比较或聚集实验或实验组。
可选 experiment-list 命令参数是实验名称、实验组名称或两者的空格分隔列表。在任何受支持的体系结构上记录的实验都可以由在相同或任何其他受支持的体系结构上运行的性能分析器显示。
可以在命令行中指定多个实验或实验组。有关实验组的信息,请参见Creating Experiment Groups。
如果指定的实验中包含子孙实验,将会自动装入所有子孙实验并显示它们的数据。
可以在 "Open Experiment"(打开实验)对话框中单击要装入的实验或实验组的名称来预览该实验或实验组。
您可以按以下所示通过命令行启动性能分析器来分析应用程序:
analyzer target [target-arguments]
性能分析器启动并显示 "Profile Application"(分析应用程序)对话框,显示指定的 target 及其参数以及用于收集实验的设置。请参见下面的“记录实验”。
要创建实验组,请创建首行为以下内容的纯文本文件:
#analyzer experiment group
然后将实验名称添加到随后的行中。实验组文本文件的文件扩展名必须是 .erg。如果希望将特定子孙实验的数据与其创始实验隔离,还可以使用实验组仅装入这些特定子孙实验。
针对多个实验或实验组调用性能分析器时,它通常会聚集所有实验的数据。如果使用 -c 标志调用性能分析器,它会在比较模式下打开。
还可以从 "Welcome"(欢迎)屏幕、"File"(文件)菜单或者状态栏的 "Compare"(比较)状态区域比较实验。
在比较模式下,"Functions"(函数)视图将针对每个实验或组显示单独的度量列,以便可以比较数据。列具有颜色编码的标题,以便于区分实验。
可以从 "Settings"(设置)对话框的 "Formats"(格式)标签设置比较样式。缺省情况下,实验比较显示基实验和被比较实验的绝对值。可以指定比较样式 "Deltas"(增量),将被比较实验的度量显示为相对于基实验的 + 或 - 值。可以指定比较样式 "Ratios"(比率),将被比较的实验度量显示为相对于基实验的比率。您的选择将保存在配置设置中以用于下次比较实验。
比较实验可以在大多数数据视图中进行,"Call Tree"(调用树)、"Races"(争用)、"Deadlocks"(死锁)、"Heap"(堆)和 "I/O Activity"(I/O 活动)除外。
"Source"(源)视图和 "Disassembly"(反汇编)视图在比较实验时显示双窗格。时间线将数据与比较的实验分开显示。"Selection Details"(选择详细信息 )标签仅显示基实验的数据。
使用目标名称和目标参数调用性能分析器时,它首先打开 "Profile Application"(分析应用程序)对话框,从而允许您在该对话框中单击 "Run"(运行)时可以在指定的目标上记录实验。还可以通过以下方式记录新实验:单击 "Welcome"(欢迎)页面中的 "Profile Application"(分析应用程序)、单击工具栏中的 "Profile Application"(分析应用程序)按钮或者从 "File"(文件)菜单中选择 "Profile Application"(分析应用程序)。
在 "Profile Application"(分析应用程序)对话框中按 F1 键可以查看 "Help"(帮助)了解更多信息。
请注意,"Profile Application"(分析应用程序)对话框字段与 collect 命令的可用选项相对应,如 collect (1) 手册页中所述。
通过对话框底部的 "Preview Command"(预览命令)按钮,可以查看单击 "Run"(运行)按钮时使用的 collect 命令。
性能分析器从配置文件和 .er.rc 文件读取设置。大多数设置存储在配置文件中。
您可以通过 "Settings"(设置)对话框控制数据显示。要打开该对话框,请单击工具栏中的 "Setttings"(设置)按钮或者从 "Tools"(工具)菜单中选择 "Setttings"(设置)。通过 "Settings"(设置)对话框,可以指定度量和缺省数据视图等设置。
您必须单击 "OK"(确定)或 "Apply"(应用),以将更改应用于当前会话。退出性能分析器时,您的设置将自动保存到实验的配置文件中。"Settings"(设置)对话框具有 "Export"(导出)按钮,可以使用该按钮将配置中的一些或所有设置保存到其他位置,从而可以与其他实验或用户共享。从 "Open Experiment"(打开实验)对话框打开实验时,性能分析器会在缺省位置搜索可用设置配置并在对话框中为您提供选项。
还可以选择 "Tools"(工具)> "Export Settings to .er.rc file"(将设置导出到 .er.rc 文件),将相关设置应用于 er_print 实用程序使用的 .er.rc 文件。
性能分析器可能处理 .er.rc 文件中的几个指令(包括 en_desc {on| off}),以控制当读取创始实验时是否选择和读取子孙实验。大多数其他指令都被性能分析器忽略,但是它们由 er_print 处理。
这些文件还为其他编译器的 C++ 名称取消改编指定路径。
性能分析器可以在本地系统运行并连接到安装了 Oracle Solaris Studio 软件的远程系统。您然后可以分析应用程序和读取位于远程系统中的实验。
远程分析器是完整性能分析器的一个子集,它可以在本地安装,即使是在 Oracle Solaris Studio 不支持的 Windows 或 MacOS 等操作系统平台上。
远程分析器在所安装产品的 lib/analyzer 目录中作为 tar 文件(即 RemoteAnalyzer.tar)分发。要安装远程分析器,请将该 tar 文件复制到本地系统并解压来创建子目录 RemoteAnalyzer。
RemoteAnalyzer 目录包含用于在不受 Oracle Solaris Studio 工具支持的系统上或者在受支持但是未安装这些工具的系统上运行 Oracle Solaris Studio 性能分析器的脚本。该目录还包含 lib 目录,其中包含执行性能分析器所需的组件。
有四个脚本,它们分别适用于 Windows、MacOS、Solaris 或 Linux。这些脚本在本地系统上运行性能分析器,并支持连接到远程主机。远程主机必须已安装 Oracle Solaris Studio 工具,连接对话框要求输入远程计算机上这些工具的路径。
在 Windows 上通过执行 AnalyzerWindows.bat 文件启动性能分析器。您可以在终端窗口中键入该命令或者在 Windows 资源管理器中双击该文件。从 Windows 资源管理器中启动 AnalyzerWindows.bat 时,它将创建终端窗口并在该窗口中执行该命令。
性能分析器在 Windows 上启动时,它将显示 "Welcome"(欢迎)屏幕。许多选项是灰显的,因为它们无法在本地的 Windows 系统上使用。性能分析器在该环境中的主要用途是连接到远程主机。"Welcome"(欢迎)屏幕的文档链接可以使用,但是在性能分析器连接到远程主机之前,用于分析应用程序或者读取或比较实验的链接不起作用。
在 MacOS 上通过执行 AnalyzerMacOS.command 文件启动性能分析器。您可以在终端窗口中键入 AnalyzerMacOS.command 或者在 Finder 中双击该文件。从 Finder 中启动 AnalyzerMacOS.command 时,它将创建终端窗口并在该窗口中执行该命令。
性能分析器在 MacOS 上启动时,它将显示 "Welcome"(欢迎)屏幕。许多选项是灰显的,因为它们无法在本地的 MacOS 系统上使用。性能分析器在该环境中的主要用途是连接到远程主机。"Welcome"(欢迎)屏幕的文档链接可以使用,但是在性能分析器连接到远程主机之前,用于分析应用程序或者读取或比较实验的链接不起作用。
在 Solaris 或 Linux 上通过在终端窗口中执行相应的 Analyzer*.sh 脚本启动性能分析器。
性能分析器启动时,它将显示 "Welcome"(欢迎)屏幕。如果已在本地系统上安装 Oracle Solaris Studio,则所有选项都处于启用状态。如果未安装该软件,则许多选项是灰显的,因为本地系统上未安装 Studio 时无法使用它们。性能分析器在该环境中的主要用途是连接到远程主机。"Welcome"(欢迎)屏幕的文档链接可以使用,但是在性能分析器连接到远程主机之前,用于分析应用程序或者读取或比较实验的链接不起作用。
可以从 "Welcome"(欢迎)屏幕、"File"(文件)菜单或者状态栏的 "Connected"(已连接)状态区域连接到远程主机。"Connect to Remote Host"(连接到远程主机)对话框允许您指定主机和登录信息,然后连接到远程主机。在该对话框中,键入远程主机名或选择之前使用过的主机,然后键入可以登录到该主机的用户帐户的名称和密码,并键入远程主机上 Oracle Solaris Studio 的安装路径。性能分析器会记住您在每个主机上使用的最后一个用户名和安装路径。
单击 "Connect"(连接)登录到主机。成功登录后,您将再次看到 "Welcome"(欢迎)屏幕,但是这次所有选项都处于启用状态,就像直接连接到远程主机一样。
在某些 Solaris 系统上,未安装所需的 X11 支持。性能分析器将报告无法连接错误。解决方法是在具有显示器并安装了 X11 的系统上运行性能分析器,并使用远程分析器功能连接到远程主机。
有时性能分析器将报告超出了 GC 开销限制。解决方法是使用大于缺省 1 GB 的内存。要通过 2 GB 内存运行分析器,请使用:
analyzer -J-Xmx2G
要通过 8 GB 内存运行 64 位版本的分析器,请使用:
analyzer -J-d64 -J-Xmx8G
性能分析器只能用于使用最新版本的工具记录的实验。对于使用其他任何版本记录的实验,分析器将报告错误。应该使用记录实验时所用发行版中的性能分析器版本。
collect (1) 、 collector (1) 、 dbx (1) 、 er_archive (1) 、 er_cp (1) 、 er_export (1) 、 er_mv (1) 、 er_print (1) 、 er_rm (1) 、 er_src (1) 、 tha (1) 、 libcollector (3)
性能分析器手册
性能分析器 MPI 教程