System Memory Map Report (Compact 2013)
10/26/2016
The DevHealth system memory map report provides detailed information about the virtual memory usage of the device at the moment that you run DevHealth. This report, which lists page types for all processes, provides similar data to that of the Visual Studio 2013 and Visual Studio 2015 Target Control command mi full. However, the system memory map report that DevHealth provides contains more detailed information, such as the virtual memory address range that each DLL module uses. The system memory map report of each process contains the base address of a virtual memory chunk, a symbol that represents a single page of virtual memory, and a summary of the information for the component that uses the corresponding pages.
The descriptions of the symbols are listed in the following table.
Symbol |
Description |
---|---|
- (hyphen) |
Reserved but not in use. This symbol indicates a virtual page that is currently allocated but is not mapped to any physical memory. |
C |
Executable code either in ROM or in the NK region outside of system RAM. |
c |
Executable code in RAM. |
R |
Read-only data section in an .exe or .dll file either in ROM or in the NK region outside of system RAM. May also be a memory-mapped file in ROM. |
r |
Read-only data section in RAM, or RAM committed as read-only. If this read-only data is not an .exe or a .dll file, it is most likely a memory-mapped file. |
D |
Writable data section in a .dll file. Cannot be shared between processes. |
E |
Writable data section in an .exe file. |
p |
Paging pool. |
S |
Committed stack page for a thread. |
H |
Heap. |
W |
RAM committed as read-write. Most likely mapped memory. |
P |
A peripheral that is not part of system RAM. The peripheral may be video memory, a camera, or some other device. |
d |
Duplicate. This page of RAM was already accounted for. For example, it might be a shared module or an address that was virtually copied. Assignment of duplicate addresses follows the order of DevHealth output. |
An excerpt from a system memory map report is shown in the following table. This excerpt shows the memory usage of one process. The system memory map report of each process contains three columns. Each line represents 64 KB of virtual memory in the process. The first column represents the base address of the 64 KB virtual memory chunk. (When an address is skipped, it signifies that no pages are presently allocated in the entire 64 KB chunk.) The second column contains a symbol that represents a single page of virtual memory (see the table above for an explanation of the symbols). There are 16 symbols because each page is 4 KB. The third column of the report summarizes the information for the component that uses the corresponding pages.