Oracle® Developer Studio 12.5:性能分析器

退出打印视图

更新时间: 2016 年 6 月
 
 

控制内存对象列表的命令

对于 Solaris x86 或 SPARC 系统上的精确计数器,内存对象命令仅适用于记录内存空间数据的硬件计数器实验(缺省或显式)。有关更多信息,请参见 collect(1) 手册页。

内存对象是内存子系统中的组件,例如高速缓存行、页面、内存区。对象根据从记录的虚拟和/或物理地址计算的索引确定。为虚拟页面和物理页面预定义了内存对象,其大小为 8KB、64KB、512KB 和 4 MB。您可以使用 memobj_define 命令定义其他索引对象。

memobj mobj-type

使用当前度量写入给定类型的内存对象的列表。所用度量和排序方式与数据空间列表相同。还可以将名称 mobj_type 直接用作命令。

mobj_list

写入已知类型的内存对象的列表,用法与 memobj 命令中的 mobj-type 相同。

mobj_define mobj-type index-exp

通过将 VA/PA 映射到由 index-exp 指定的对象,定义新的内存对象类型。表达式的语法在表达式语法中介绍。

mobj-type 必须尚未定义,并且不能与任何现有命令或任何索引对象类型(请参见下文)匹配。其名称必须完全由字母数字字符或 "_" 字符组成,且以字母字符开头。

index-exp 必须在语法上是正确的。如果它在语法上不正确,则将返回错误并忽略定义。

<Unknown> 内存对象的索引是 -1,而且用于定义新内存对象的表达式应该支持识别 <Unknown>。例如,对于基于 VADDR 的对象,表达式应该采用以下格式:

VADDR>255?expression :-1

对于基于 PADDR 的对象,表达式应该采用以下格式:

PADDR>0?expression:-1

memobj_drop mobj_type

丢弃给定类型的内存对象。

machinemodel model_name

按照指定计算机模型中的定义创建内存对象。model_name 是用户当前目录或用户主目录中的一个文件名,或者是在发行版中定义的计算机模型的名称。存储的计算机模型文件带有后缀 .ermm。如果 machinemodel 命令中的 model_name 不是以该后缀结尾,则将使用附加了 .ermmmodel_name。如果 model_name/ 开头,则假定它是绝对路径,并且将仅尝试该路径(如果需要,还会附加 .ermm)。如果 model_name 包含 /,将仅尝试相对于当前目录或用户主目录的路径名。

计算机模型文件可以包含注释和 mobj_define 命令。将忽略任何其他命令。machinemodel 命令可以出现在 .er.rc 文件中。如果已装入了计算机模型(通过命令或通过读取记录了计算机模型的实验),则后续 machinemodel 命令将删除来自以前计算机模型的所有定义。

如果缺少 model_name,则输出所有已知计算机模型的列表。如果 model_name 是零长度字符串,则卸载装入的任何计算机模型。