Go to main content
Oracle® Developer Studio 12.5: Performance Analyzer

Exit Print View

Updated: June 2016
 
 

Commands That Control Memory Object Lists

Memory Object commands are applicable only to hardware counter experiments where memoryspace data was recorded, either by default or explicitly for precise counters on either Solaris x86 or SPARC systems.. See the collect(1) man page for more information.

Memory Objects are components in the memory subsystem, such as cache-lines, pages, memory-banks, etc. The object is determined from an index computed from the virtual and/or physical address as recorded. Memory objects are predefined for virtual and physical pages, for sizes of 8KB, 64KB, 512KB, and 4 MB. You can define others with the memobj_define command.

memobj mobj-type

Write the list of the memory objects of the given type with the current metrics. Metrics used and sorting as for the data space list. You can also use the name mobj_type directly as the command.

mobj_list

Write the list of known types of memory objects, as used for mobj-type in the memobj command.

mobj_define mobj-type index-exp

Define a new type of memory objects with a mapping of VA/PA to the object given by the index-exp. The syntax of the expression is described in Expression Grammar.

The mobj-type must not already be defined and it cannot match any existing command, or any Index Object type (see below). Its name must be entirely composed of alphanumeric characters or the ’_’ character, and begin with an alphabetic character.

The index-exp must be syntactically correct. If it is not syntactically correct, an error is returned and the definition is ignored.

The <Unknown> memory object has an index of -1, and the expression used to define a new memory object should support recognizing <Unknown>. For example, for VADDR-based objects, the expression should be of the following form:

VADDR>255?expression :-1

For PADDR-based objects, the expression should be of the following form:

PADDR>0?expression:-1

memobj_drop mobj_type

Drop the memory object of the given type.

machinemodel model_name

Create memory objects as defined in the specified machine model. The model_name is a file name, either in the user's current directory, or in the user's home directory, or it is the name of a machine model defined in the release. Machine model files are stored with a suffix of .ermm. If the model_name on the machinemodel command does not end with that suffix, the model_name with .ermm appended will be used. If the model_name begins with a /, it is assumed to be an absolute path, and only that path (with .ermm appended, if needed) will be tried. If the model_name contains a /, only that pathname relative to the current directory, or the user's home directory will be tried.

A machine model file can contain comments and mobj_define commands. Any other commands are ignored. A machinemodel command can appear in a .er.rc file. If a machine model had been loaded, either by the command or by reading an experiment with a machine model recorded in it, a subsequent machinemodel command will remove any definitions coming from the previous machine model.

If the model_name is missing, print a list of all known machine models. If the model_name is a zero-length string, unload any loaded machine model.