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.  性能分析器工具

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

er_print 语法

度量列表

控制函数列表的命令

functions

metrics metric_spec

sort metric_spec

fsummary

fsingle function_name [N]

控制调用方-被调用方列表的命令

callers-callees

csingle function_name [N]

cprepend function-name [N | ADDR]

cappend function-name [N | ADDR]

crmfirst

crmlast

控制调用树列表的命令

calltree

控制泄漏和分配列表的命令

leaks

allocs

控制源代码和反汇编代码列表的命令

pcs

psummary

lines

lsummary

source|src { filename | function_name } [ N]

disasm|dis { filename | function_name } [ N]

scc com_spec

sthresh value

dcc com_spec

dthresh value

cc com_spec

控制源文件搜索的命令

setpath path_list

addpath path_list

pathmap old-prefix new-prefix

控制硬件计数器数据空间和内存对象列表的命令

data_objects

data_single name [N]

data_layout

memobj mobj_type

mobj_list

mobj_define mobj_type index_exp

控制索引对象列表的命令

indxobj indxobj_type

indxobj_list

indxobj_define indxobj_type index_exp

用于 OpenMP 索引对象的命令

OMP_preg

OMP_task

支持线程分析器的命令

races

rdetail race_id

deadlocks

ddetail deadlock_id

列出实验、抽样、线程和 LWP 的命令

experiment_list

sample_list

lwp_list

thread_list

cpu_list

控制实验数据过滤的命令

指定过滤表达式

filters filter_exp

列出过滤器表达式的关键字

describe

选择要进行过滤的抽样、线程、LWP 和 CPU

选择列表

选择命令

sample_select sample_spec

lwp_select lwp_spec

thread_select thread_spec

cpu_select cpu_spec

控制装入对象展开和折叠的命令

object_list

object_show object1,object2,...

object_hide object1,object2,...

object_api object1,object2,...

objects_default

object_select object1,object2,...

列出度量的命令

metric_list

cmetric_list

data_metric_list

indx_metric_list

控制输出的命令

outfile {filename|-|--}

appendfile 文件名

limit n

name { long | short } [ :{ shared_object_name | no_shared_object_name } ]

viewmode { user| expert | machine }

compare { on | off }

列显其他信息的命令

header exp_id

ifreq

objects

overview exp_id

statistics exp_id

设置缺省值的命令

dmetrics metric_spec

dsort metric_spec

en_desc { on | off | =regexp }

仅为性能分析器设置缺省值的命令

tabs tab_spec

rtabs tab_spec

tlmode tl_mode

tldata tl_data

杂项命令

procstats

script file

version

quit

help

表达式语法

示例过滤器表达式

er_print 命令示例

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

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

8.  操作实验

9.  内核分析

索引

控制源代码和反汇编代码列表的命令

以下命令控制显示带注释的源代码和反汇编代码的方式。

pcs

写入程序计数器 (program counter, PC) 及其度量的列表(按当前排序度量排序)。该列表包括为使用 object_select 命令隐藏其函数的每个装入对象显示聚集度量的行。

psummary

按当前排序度量指定的顺序,为 PC 列表中的每个 PC 写入摘要度量面板。

lines

写入源代码行及其度量的列表(按当前排序度量排序)。该列表包括为没有行号信息或其源文件未知的每个函数显示聚集度量的行,以及为使用 object_select 命令隐藏其函数的每个装入对象显示聚集度量的行。

lsummary

按当前排序度量指定的顺序,为行列表中的每个行写入摘要度量面板。

source|src { filename | function_name } [ N]

为指定文件或包含指定函数的文件写出带注释的源代码。在任一情况下该文件都必须位于您所指定的路径中的目录下。如果使用 GNU Fortran 编译器编译了源代码,则函数名称出现在源代码中时,必须在其后添加两个下划线字符。

仅当文件或函数的名称不明确时,才使用可选参数 N(正整数);在这种情况下,使用第 N 个可能的选项。如果提供不带数字说明符的不明确名称,则 er_print 实用程序将列显可能的目标文件名称的列表;如果提供的名称是函数,则将函数名称附加到目标文件名称,还将列显表示该目标文件的 N 值的数字。

也可以将函数名称指定为 function"file",其中 file 用于指定函数的替代源上下文。紧邻第一个指令之后,将添加函数的索引行。索引行显示为尖括号内的文本,其格式如下:

<Function: f_name>

任何函数的缺省源上下文都被定义为该函数的第一条指令所归属的源文件。它通常是经过编译而生成包含该函数的目标模块的源文件。替代源上下文由包含归属于该函数的指令的其他文件组成。此类上下文包括来自头文件的指令和来自内联到指定函数中的函数的指令。如果存在任何替代源上下文,则在缺省源上下文的开头包括扩展索引行的列表以指示替代源上下文所在的位置,格式如下:

<Function: f, instructions from source file src.h>


注 - 如果在命令行上调用 er_print 实用程序时使用了 -source 参数,则必须在 file 引号前加上反斜杠转义符。换句话说,函数名称的格式为 function\"file\"。当 er_print 实用程序处于交互模式时,反斜杠不是必需的,也不应使用它。


通常,在使用缺省源上下文时,会显示该文件中所有函数的度量。如果显式引用该文件,则仅显示指定函数的度量。

disasm|dis { filename | function_name } [ N]

为指定文件或包含指定函数的文件写出带注释的反汇编代码。该文件必须位于您所指定的路径中的目录下。

可选参数 Nsource 命令的可选参数的使用方法相同。

scc com_spec

指定在带注释的源代码列表中显示的编译器注释的类。类列表是类的冒号分隔列表,包含零个或多个以下消息类。

表 5-4 编译器注释消息类

含义
b[asic]
显示基本级别的消息。
v[ersion]
显示版本消息,包括源文件名称和上次修改日期、编译器组件的版本、编译日期和选项。
pa[rallel]
显示有关并行化的消息。
q[uery]
显示有关影响代码优化的代码问题。
l[oop]
显示有关循环优化和转换的消息。
pi[pe]
显示有关循环的流水线作业的消息。
i[nline]
显示有关函数内联的消息。
m[emops]
显示有关内存操作(如装入、存储、预取)的消息。
f[e]
显示前端消息。
co[degen]
显示代码生成器消息。
cf
在源代码底部显示编译器标志。
all
显示所有消息。
none
不显示任何消息。

allnone 不能与其他类一起使用。

如果未提供 scc 命令,则显示的缺省类为 basic。如果提供了 scc 命令,但 class-list 为空,则关闭编译器注释。scc 命令通常仅在 .er.rc 文件中使用。

sthresh value

指定带注释的源代码中突出显示度量的阈值百分比。对于文件中的任何源代码行,如果任何度量的值等于或大于该度量最大值的 value %,则在该度量所在行的开头插入 ##

dcc com_spec

指定在带注释的反汇编代码列表中显示的编译器注释的类。类列表是类的冒号分隔列表。可用类的列表与表 5-4 中所示的带注释的源代码列表的类列表相同。可以在类列表中添加以下选项。

表 5-5 dcc 命令的附加选项

选项
含义
h[ex]
显示指令的十六进制值。
noh[ex]
不显示指令的十六进制值。
s[rc]
在带注释的反汇编代码列表中交错显示源代码列表。
nos[rc]
不在带注释的反汇编代码列表中交错显示源代码列表。
as[rc]
在带注释的反汇编代码列表中交错显示带注释的源代码。

dthresh value

指定带注释的反汇编代码中突出显示度量的阈值百分比。对于文件中的任何指令行,如果任何度量的值等于或大于该度量最大值的 value %,则在该度量所在行的开头插入 ##

cc com_spec

指定在带注释的源代码和反汇编代码列表中显示的编译器注释的类。类列表是类的冒号分隔列表。可用类的列表与表 5-4 中所示的带注释的源代码列表的类列表相同。