Oracle Solaris Modular Debugger Guide

Virtual Memory

This section describes the debugging support for the kernel virtual memory subsystem.

Virtual Memory Dcmds

address ::addr2smap [offset]

Print the smap structure address that corresponds to the given address in the kernel's segmap address space segment.

as ::as2proc

Display the proc_t address for the process corresponding to the as_t address as.

[ address ] ::memlist [-aiv]

Display the specified memlist structure or one of the well-known memlist structures. If no memlist address and options are present or if the -i option is present, the memlist representing physically installed memory is displayed. If the -a option is present, the memlist representing available physical memory is displayed. If the -v option is present, the memlist representing available virtual memory is displayed.

::memstat

Display a system-wide memory usage summary. The amount and percentage of system memory consumed by different classes of pages (kernel, anonymous memory, executables and libraries, page cache, and free lists) are displayed, along with the total amount of system memory.

[ address ] ::page

Display the properties of the specified page_t. If no page_t address is specified, the dcmd displays the properties of all system pages.

seg ::seg

Format and display the specified address space segment (seg_t address).

[ address ] ::swapinfo

Display information on all active swapinfo structures or about the specified struct swapinfo. The vnode, filename, and statistics for each structure are displayed.

vnode ::vnode2smap [offset]

Print the smap structure address that corresponds to the given vnode_t address and offset.

Virtual Memory Walkers

anon

Given the address of an anon_map structure as a starting point, iterate over the set of related anon structures. The anon map implementation is defined in <vm/anon.h>.

memlist

Iterate over the spans of the specified memlist structure. This walker can be used in conjunction with the ::memlist dcmd to display each span.

page

Iterate over all system page structures. If an explicit address is specified for the walk, this is taken to be the address of a vnode and the walker iterates over only those pages associated with the vnode.

seg

Given the address of an as_t structure as a starting point, iterate over the set of address space segments (seg structures) associated with the specified address space. The seg structure is defined in <vm/seg.h>.

swapinfo

Iterate over the list of active swapinfo structures. This walker may be used in conjunction with the ::swapinfo dcmd.