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.  内核分析

索引

控制函数列表的命令

以下命令控制显示函数信息的方式。

functions

使用当前选定的度量写入函数列表。函数列表包括选定进行函数显示的装入对象中的所有函数,以及使用 object_select 命令隐藏其函数的任何装入对象。

可以使用 limit 命令限制写入的行数(请参见控制输出的命令)。

列显的缺省度量是独占和非独占用户 CPU 时间,以秒和总程序度量百分比表示。可以使用 metrics 命令更改当前显示的度量,该命令必须在发出 functions 命令之前发出。也可以在 .er.rc 文件中使用 dmetrics 命令更改缺省值。

对于用 Java 编程语言编写的应用程序,显示的函数信息因视图模式的设置而异,视图模式可设置为用户、专家或计算机。

在所有三种模式下,对于 Java 目标调用的任何 C、C++ 或 Fortran 代码,都以通用的方法报告数据。

metrics metric_spec

指定函数列表度量的选项。字符串 metric_spec 可以是恢复缺省度量选项的关键字 default,也可以是由冒号分隔的一系列度量关键字。以下示例说明一个度量列表。

% metrics i.user:i%user:e.user:e%user

此命令指示 er_print 实用程序显示以下度量:

缺省情况下,所用的度量设置基于从 .er.rc 文件处理的 dmetrics 命令,如设置缺省值的命令中所述。如果 metrics 命令将 metric_spec 显式设置为 default,则根据所记录的数据恢复缺省设置。

重置度量时,会在新列表中设置缺省排序度量。

如果省略 metric_spec,则显示当前的度量设置。

除了为函数列表设置度量外,metrics 命令还可以为调用方-被调用方、派生的数据输出和索引对象设置度量。调用方-被调用方度量显示以下归属的度量:它们对应于显示非独占或独占的度量的函数列表中的那些度量;同时还显示静态度量。

数据空间度量显示以下数据空间度量:这些度量有可用的数据并且对应于显示非独占或独占的度量的函数列表中的那些度量;同时还显示静态度量。

索引对象度量显示以下索引对象度量:这些度量对应于显示非独占或独占的度量的函数列表中的那些度量;同时还显示静态度量。

处理 metrics 命令时,将列显一条消息,指明当前的度量选项。对于前面的示例,消息如下。

current: i.user:i%user:e.user:e%user:name

有关度量列表的语法的信息,请参见度量列表。要查看可用度量的列表,请使用 metric_list 命令。

如果 metrics 命令出现错误,则将忽略该命令并发出警告,同时仍将使用以前的设置。

sort metric_spec

metric_spec 对函数列表进行排序。度量名称中的 visibility 不影响排序顺序。如果在 metric_spec 中指定了多个度量,则使用第一个可见度量。如果指定的度量都不可见,则忽略该命令。可以在 metric_spec 前加上减号 (-) 以指定反向排序。

缺省情况下,度量排序设置基于从 .er.rc 文件处理的 dsort 命令,如设置缺省值的命令中所述。如果 sort 命令将 metric_spec 显式设置为 default,则使用缺省设置。

字符串 metric_spec度量列表中所述的度量关键字之一,如以下示例所示。

sort i.user

此命令指示 er_print 实用程序按非独占用户 CPU 时间对函数列表进行排序。如果度量不在已装入的实验中,则列显一条警告并忽略该命令。完成命令时,将列显排序度量。

fsummary

为函数列表中的每个函数写入摘要面板。可以使用 limit 命令限制写入的面板数(请参见控制输出的命令)。

摘要度量面板包括函数或装入对象的名称、地址和大小(对于函数,还包括源文件、目标文件和装入对象的名称),以及选定函数或装入对象的所有记录的度量(包括以值和百分比形式表示的独占和非独占度量)。

fsingle function_name [N]

为指定的函数写入摘要面板。当有多个函数具有相同的名称时,需要使用可选参数 N。为具有给定函数名称的第 N 个函数写入摘要度量面板。在命令行上提供命令时,N 是必需的;如果不需要它,则将其忽略。当以交互方式提供不带 N 的命令但又需要 N 时,则会列显具有对应 N 值的函数列表。

有关函数的摘要度量的说明,请参见对 fsummary 命令的描述。