JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.3:性能分析器     Oracle Solaris Studio 12.3 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  性能分析器概述

2.  性能数据

3.  收集性能数据

4.  性能分析器工具

启动性能分析器

分析器命令选项

Java 选项

-j | --jdkhome jvm-path

-Jjvm-options

控制选项

-f | --fontsize size

-v | --verbose

信息选项

-V | --version

-? | --h | --help

分析器缺省设置

性能分析器 GUI

菜单栏

工具栏

分析器数据显示

左侧窗格中的数据标签

"MPI 时间线"标签

`MPI Chart`(MPI 图表)标签

`Races`(争用)标签

`Deadlocks`(死锁)标签

`Functions`(函数)标签

`Callers-Callees`(调用方-被调用方)标签

"调用树"标签

`Dual-Source`(双重数据源)标签

`Source/Disassembly`(源/反汇编)标签

`Source`(源)标签

`Lines`(行)标签

`Disassembly`(反汇编)标签

`PCs` (PC) 标签

"OpenMP 并行区域"标签

"OpenMP 任务"标签

`Timeline`(时间线)标签

`LeakList`(泄漏列表)标签

`DataObjects`(数据对象)标签

`DataLayout`(数据布局)标签

`Inst-Freq`(指令频率)标签

`Statistics`(统计数据)标签

`Experiments`(实验)标签

`Index Objects`(索引对象)标签

`Threads`(线程)标签

`Samples`(样本)标签

`CPUs` (CPU) 标签

`Seconds`(秒)标签

`Processes`(进程)标签

`Experiment IDs`(实验 ID)标签

`MemoryObjects`(内存对象)标签

右侧窗格中的标签

`MPI Timeline Controls`(MPI 时间线控件)标签

"MPI 图表控件"标签

`Summary`(摘要)标签

`Timeline Details`(时间线详细信息)标签

`Thread Chart Controls`(线程图表控件)标签

`Leak`(泄漏)标签

"争用详细信息"标签

"死锁详细信息"标签

设置数据表示选项

`Metrics`(度量)标签

`Sort`(排序)标签

`Source/Disassembly`(源/反汇编)标签

`Formats`(格式)标签

`Timeline`(时间线)标签

`Search Path`(搜索路径)标签

`Pathmaps`(路径映射)标签

`Tab`(标签)标签

查找文本和数据

显示或隐藏函数

过滤数据

使用上下文过滤器

管理过滤器

使用定制过滤器

使用标签进行过滤

从分析器记录实验

分析器缺省设置

保存性能分析器设置

.er.rc 文件中的设置

比较实验

缺省情况下启用比较模式

5.  er_print 命令行性能分析工具

6.  了解性能分析器及其数据

7.  了解带注释的源代码和反汇编数据

8.  操作实验

9.  内核分析

索引

过滤数据

性能分析器提供了多种过滤数据的方法,使您可以将重点放在程序中感兴趣的区域上。在进行过滤时,需要为要查看的数据指定标准。应用过滤器之后,不满足标准的数据将从所有支持过滤的分析器标签的视图中删除。

在性能分析器中首次打开实验时,可以查看所有装入的实验中所有函数的数据、各个实验的所有线程和 CPU 以及实验涵盖的完整时间段。

可以按以下条件过滤:

可以从多个位置过滤:

设置过滤器时,将过滤所有分析器标签中的数据。可以将各个过滤器结合使用,显示非常具有针对性的程序运行区域的度量。


注 - 此处所述的过滤器不同于`MPI Timeline Controls`(MPI 时间线控件)标签"MPI 图表控件"标签中所述的 MPI 过滤。这些过滤器不会影响“MPI 时间线”标签和“MPI 图表”标签。


使用上下文过滤器

上下文过滤器是特定于上下文的过滤器,可在性能分析器的多个数据标签中使用。单击鼠标右键或者在键盘上按 Shift-F10 可访问上下文过滤器。选择上下文过滤器时,将立即过滤数据。

通常可以在标签中选择一项或多项您希望重点关注的内容,右键单击鼠标,然后选择合适的上下文过滤器即可使用。对于大多数数据标签,使用过滤器可以包括或排除满足在过滤器中指定的标准的数据。这样,您便可以使用过滤器,将重点放在程序特定区域中的数据,或者排除特定区域的数据。

一些使用上下文过滤器的方法包括:

管理过滤器

使用 "Manage Filters"(管理过滤器)对话框可以对实验、线程、CPU 和样本执行简单的过滤。此过滤可以与上下文过滤器一起使用。

可以使用多种方式访问 "Manage Filters"(管理过滤器)对话框:

使用 "Manage Filters"(管理过滤器)对话框可以进行常规过滤,以便选择显示来自特定实验、采样点、线程和 CPU 的数据。结合使用 "Experiments"(实验)标签和 "General"(常规)标签指定要显示数据的项。对于在 "Experiments"(实验)和 "General"(常规)标签中所做的选择,将使用逻辑 AND&&&& 运算符)结合进行过滤。只有与在这些标签中做出的所有选择匹配的数据才会包括在数据标签中。

分析器帮助中提供了使用 "Manage Filters"(管理过滤器)对话框的说明。

该对话框还提供了可用于定制过滤器的 "Custom"(定制)标签。有关更多信息,请参见下文。

使用定制过滤器

使用 "Custom"(定制)标签可以键入自己的过滤器表达式,或者编辑以前应用过的过滤器来创建定制过滤器。"Custom"(定制)标签中的过滤器独立于通过 "Manage Filters"(管理过滤器)对话框的 "Experiments"(实验)标签和 "General"(常规)标签应用的过滤器。

在性能分析器数据标签中选择上下文过滤器时,将生成过滤器表达式,并且会立即应用来过滤数据。生成的过滤器表达式也可添加到 "Custom"(定制)标签的文本框中,在其中可以使用这些表达式作为基础来创建定制过滤器。

可以编辑过滤器,使用 "Filter Specification"(过滤器规范)面板上方的箭头按钮来撤消和重做所进行的编辑。您也可以采用与文本编辑器中相同的方法,按 Ctrl-Z 进行撤消,按 Shift-Ctrl-Z 进行重做。

过滤器表达式使用标准的 C 关系运算符(==>=&&&&|| 等等)以及实验特定的关键字。要查看在分析器中打开的实验中可用的关键字,请单击 "Custom"(定制)标签中的 "Show Keywords"(显示关键字)按钮。

过滤器表达式语法与 er_print 中使用的过滤语法相同。有关过滤器表达式的信息,请参见表达式语法

在单击 "OK"(确定)或 "Apply"(应用)之前,编辑后的过滤器不会影响数据标签。如果单击 "Apply"(应用),则 "Custom"(定制)标签仍保持打开状态。如果在分析器数据标签中选择了上下文过滤器,则对于根据您的选定内容生成的过滤器表达式,当它们添加到 "Filter Specification"(过滤器规范)文本框中后,您可以查看这些过滤器表达式。每个新的过滤器放在一个新行中,以 &&&&(逻辑“与”运算符)开头。要显示实验数据,这些数据必须与第一个过滤器匹配、并且与第二个过滤器匹配、并且与第三个过滤器匹配,等等。如果希望数据匹配第一个过滤器第二个过滤器,则可以将 &&&& 更改为 ||

您还可以在 "Custom"(定制)标签中使用标签进行过滤,如下文中所述。

使用标签进行过滤

标签是分配给实验的一部分的名称。使用 er_label 命令,您可以将标签名分配给实验中的一段时间,而标签将保存在实验中。通过 er_print 命令或性能分析器,您可以使用标签来过滤实验数据,以便包含或排除在所标记时段内收集的数据。

有关如何使用 er_label 实用程序创建标签的信息,请参见标记实验

在性能分析器中,可以在 "Manage Filters"(管理过滤器)对话框的 "Custom"(定制)标签中过滤所标记时段的数据。在 "Filter Specification"(过滤器规范)面板中键入标签名称,然后单击 "Apply"(应用)来过滤标签所指定的数据。由于标签用作通过 TSTAMP 关键字使用数值进行比较的过滤表达式的昵称,您无需进行任何数值比较。在 "Custom"(定制)标签中,将标签添加到单独的行中并且在前面放置 &&&&,可以将标签与其他过滤器结合使用。

在 "Custom"(定制)标签中单击 "Show Keywords"(显示关键字)按钮,可查看是否为在性能分析器中打开的实验分配了标签。您也可以使用 er_print -describe 命令查看相同的信息。标签在显示内容中将首先列出,并且包含实际过滤器表达式,该表达式带有由标签实施的 TSTAMP 关键字。

应用标签过滤器之后,可以单击 "Timeline"(时间线)标签以便查看按标签定义的间隔删除的数据。其他支持过滤的标签上也会对数据进行过滤。