| Member name | Value | Description |
---|
| mcmmiNone | 0 | No information is returned |
| mcmmiTotalVirtual | 1 | Total virtual memory in MB. This is the100% value for McResourceManager mcmtVirtualMemory percentage values. |
| mcmmiTotalPhysical | 2 | Total physical memory in MB. |
| mcmmiUsablePhysical | 3 | "Usable" physical memory in MB. This isthe 100% value for McResourceManager mcmtImageMemory and mcmtPhysicalMemory percentage
values. Under favorable conditions, it is min(mcmmiTotalPhysical,mcmmiTotalVirtual) minus a fixed reserve; the size of the reserve
depends on the total amount of physical memory available. This computed value
is mcmmiUsablePhysicalMax. If the amount of
available physical memory (mcmmiAvailPhysical) at memory manager initialization is less than
mcmmiUsablePhysicalMax, then mcmmiUsablePhysical is set to the amount of available
physical memory at that time. (see also mcmmiUsablePhysicalDynamic) |
| mcmmiAvailPhysical | 4 | Immediately available physical memoryin MB; that is, physical memory that can be committed without needing to
access the operating system's paging file. This is the same value that is
exposed by McResourceManager.MemoryFree(mcmtPhysicalMemoryMBytes). |
| mcmmiAllImageData | 5 | Total MB that would be occupied byall frames managed by the system if they were all in memory at once. Note
that this includes opened Large Image files, which are never fully
loaded into memory. This value is the sum of the mcmmiLargeImageData
and mcmmiNormalImageData values. |
| mcmmiLargeImageData | 6 | Total MB that would be occupied byframes opened at full resolution from Large Image files; these frames are
never fully loaded into memory. |
| mcmmiNormalImageData | 7 | Total MB that would be occupied byall normal sized frames managed by the system if they were all in memory at
once. Normal sized image frames may at times be fully loaded into memory. |
| mcmmiManagerTracked | 8 | Total MB that the image memorymanager is tracking. This includes not only image memory that is allocated
and freed by the manager (see mcmmiManagerOwned and mcmmiManagerMalloced),
but also image memory that is owned by the image creator (see
mcmmiExternallyOwned). It includes all frame data from normal-sized frames
(see mcmmiNormalImageData) plus any image data cast to a different type
during the lifetime of a McRegionAccess that holds such a cast. But it only
includes the portions of Large Image files (see mcmmiLargeImageData) that
are currently in memory (see mcmmiLargeImageCached). |
| mcmmiManagerOwned | 9 | Total tracked MB that isallocated and freed by the manager using virtual allocations. This memory
is potentially freeable, either by swapping it to a temporary file or by
discarding it if it is backed by data in some image file. This value will
include the portions of any Large Image frames that are currently in memory
(see mcmmiLargeImageCached), but will not include the portions of those
frames that are not. By contrast, this value does include all normal-sized
frame memory (see mcmmiNormalImageData) plus any type-casts of it, even if
it is not currently in memory. |
| mcmmiManagerMalloced | 10 | Total tracked MB that is allocatedand freed by the manager using malloc. These are small allocations are made
for efficiency purposes for images that will occupy very small amounts of
meory for all of their frames (less that 16KB). This memory is freed only
when the image is closed and fully released. |
| mcmmiExternallyOwned | 11 | Total tracked MB that is allocatedand freed by the caller who created the image frame(s). This memory must be
freed by the caller after the image is closed and fully released. |
| mcmmiLargeImageCached | 12 | Total tracked MB that is holding theportions of any Large Image frames that are currently in memory. This memory
is discardable if managed memory resources get tight, since it can always be
reloaded from the open Large Image file. Note that portions of Large Image
frames that are loaded into memory may overlap and/or be sub-sampled to less
than full resolution; as a result, subtracting this value from the
mcmmiLargeImageData value tells you little or nothing about how much of the
Large Image frame is loaded into memory. |
| mcmmiOnDemandCached | 13 | Total tracked MB that is holding theportions currently in memory of normal-sized frames that are available in
the original image file and that have not been
written to (see mcmmiDirtyPhysical). This memory is discardable if managed
memory resources get tight, since it can be reloaded from the original image
file. This value is the difference between mcmmiGoodInOnDemandFile
and mcmmiAvailableInOnDemandFile. |
| mcmmiSwapFileCached | 14 | Total tracked MB that is holdingthe portions currently in memory of normal-sized frames that are available
in in a temporary swap file and that have not been written to (see
mcmmiDirtyPhysical). This memory is discardable if managed memory resources
get tight, since it can be reloaded from a temporary swap file. This value
is the difference between mcmmiGoodInSwapFile and
mcmmiAvailableInSwapFile. |
| mcmmiTotalImageCached | 15 | Total tracked MB that isdiscardable if managed memory resources get tight; this is the memory that can
be reloaded from the original image file or a temporary swap file. This
value is the sum of the mcmmiLargeImageCached, mcmmiOnDemandCached and
mcmmiSwapFileCached values. |
| mcmmiDirtyPhysical | 16 | Total MB of allocated (i.e.,committed) physical memory that will need to be written to a temporary swap
file before its space can be freed for other purposes. |
| mcmmiVirtualAllocated | 17 | Total MB of allocated logical memory.If this value approaches
McResourceManager.MemoryMax(mcmtVirtualMemoryMBytes), as it often will in
32-bit operating systems, then memory is freed by discarding or swapping to
temporary files to free up space. |
| mcmmiPhysicalAllocated | 18 | Total MB of allocated (i.e.,committed) managed image physical memory. If this value approaches
McResourceManager.MemoryMax(mcmtImageMemoryMBytes), then memory is freed by
discarding or swapping to temporary files to free up space. The difference
between this value and mcmmiTotalImageCached is the amount of physical
memory that would need to be placed in temporary swap files in order to
completely free the space it occupies (see also mcmmiDirtyPhysical). |
| mcmmiGoodInOnDemandFile | 19 | Total MB of memory in normal-sizedframes that has not been written to and is available from the original image
file. The portions of this data that are not already in memory (see
mcmmiOnDemandCached) will be loaded into memory as needed from the
original file. Note that this value does not include data in Large Image
files, because all of that data (see mcmmiLargeImageData) is good (those
images being read-only). |
| mcmmiGoodInSwapFile | 20 | Total MB of memory that has beenwritten out to a temporary swap file and is still valid (that is, has not
been subsequently reloaded and then written to). The portions of this data
that are not already in memory (see mcmmiSwapFileCached) will be loaded into
memory as needed from the swap file. |
| mcmmiAvailableInOnDemandFile | 21 | Total MB of memory in normal-sizedframes that is not in memory, has not been written to and is available from
the original image file. This data will be loaded into memory as needed
from the original file. Note that this value does not include data in Large
Image files, because all of that data (see mcmmiLargeImageData) is good
(these images being read-only), and there is no simple relationship between
portions of the large frames already in memory and portions that will need
to be read from the image file (see discussion with mcmmiLargeImageCached) |
| mcmmiAvailableInSwapFile | 22 | Total MB of memory that has beenwritten out to a temporary swap file and is still valid (that is, has not
been subsequently reloaded and then written to) and has not been subsequently
reloaded into memory. Accesses to this data will require a disk access. |
| mcmmiSwapDiskSpace | 23 | Total MB of disk space in thecurrent McResourceManager.MemorySwapPath that is occupied by temporary
memory manager swap files. This value may be substantially greater than the
mcmmiGoodInSwapFile value, because swap files are allocated for all frames
in an image. So if only the first and last frame of an image needs to be
swapped out space for the entire file must be allocated on the disk. If an
assignment is made that changes McResourceManager.MemorySwapPath, then this
value is reset to zero, even though swap files written to the old path still
exist and can be accessed as necessary. |
| mcmmiCumulativeWrittenToSwapFile | 24 | Total MB of managed imagememory that has been written out to any temporary swap file since the start
of the application. This value does not include any memory written by the
operating system to its virtual memory pagefile. |
| mcmmiCumulativeDiscarded | 25 | Total MB of cached, managed imagememory (see mcmmiTotalImageCached) that has been discarded since the start of
the application. |
| mcmmiWorkingSet | 26 | The application's memory "WorkingSet" in MB. The working set of a process is the set of committed pages in
the virtual address space of the process that are currently resident in
physical memory. See mcmmiPeakWorkingSet for the peak working set and
mcmmiPhysicalPagedOut for paged out committed memory. |
| mcmmiPeakWorkingSet | 27 | The peak value since it startedof the application's memory "Working Set" in MB. See mcmmiWorkingSet for the
current working set and mcmmiPhysicalPagedOutPeak for peak paged out
committed memory. |
| mcmmiProcessPageFaults | 28 | The current cumulative number ofoperating system memory page faults caused by the application since it was
started. This count includes both "soft" and "hard" page faults, so it is
more a measure of general memory intensive activity rather than operator
swapping to the pagefile. |
| mcmmiPhysicalPagedOut | 29 | The current amount of theapplication's committed virtual memory which is in excess of the working
set. If this value is positive, it will be an estimate of the
amount of the application's committed memory which has been written out to
the page file. This is the Commit Charge minus the Working Set
(mcmmiWorkingSet), in MB. |
| mcmmiPhysicalPagedOutPeak | 30 | The peak excess committed memoryover the peak working set. If this value is positive, it will be an
estimate of the peak amount of the application's committed virtual memory
which was spooled out to the page file. This is the peak Commit Charge
minus the peak Working Set (mcmmiPeakWorkingSet) in MB. It is only an
underestimate of the peak amount of application memory which the operating
system paged out; that is, application memory may be spooled out to the
pagefile due to memory demands from other processes (see
mcmmiExternalPhysicalUsed). |
| mcmmiReservedPhysical | 31 | The current total physicalmemory reserved via calls to McResourceManager.ReserveMemory(mcmtPhysicalMemory).
Normally, immediately after a successful ReserveMemory(mcmtPhysicalMemory)
the user will call memory allocation routines to actually commit the physical
memory that was reserved. |
| mcmmiExternalPhysicalUsed | 32 | The amount of physical memory inMB that is used by processes other than the application. This value is
computed as (mcmmiTotalPhysical - mcmmiAvailPhysical - mcmmiWorkingSet). |
| mcmmiExternalPhysicalUsedDelta | 33 | Change in the amount of physicalmemory in MB that is used by processes other than the application
(mcmmiExternalAllocated) since the memory manager was initialized. This
value may be positive or negative and is an indication of changes in
physical memory consumption that are out of the control of the application. |
| mcmmiUsablePhysicalMax | 34 | Maximum allowed "Usable" physicalmemory in MB. It is min(mcmmiTotalPhysical,mcmmiTotalVirtual) minus a fixed
reserve; the size of the reserve depends on the total amount of physical
memory available. Underfavorable condition, mcmmiUsablePhysical will be set
to this value. |
| mcmmiUsablePhysicalDynamic | 35 | "Usable" physical memory in MB,dynamically adjusted for mcmmiExternalPhysicalUsedDelta. At memory manager
initialization, mcmmiUsablePhysicalDynamic is equal to mcmmiUsablePhysical,
which will be less than mcmmiUsablePhysicalMax if external programs are
consuming substantial physical memory at that time. As processing
progresses, other applications may allocate or deallocate physical memory
which can impact the memory resources available for this application (see
mcmmiExternalPhysicalUsedDelta). The mcmmiUsablePhysicalDynamic responds to
these changes in external memory usage by varying up to
mcmmiUsablePhysicalMax. The mcmmiUsablePhysicalDynamic is used to adjust
the maximum allowed reservable physical memory; see the
McResourceManager.MemoryMax(mcmtPhysicalMemory) property and the
ReserveMemory method. Whenever the
McResourceManager.MemoryMax(mcmtImageMemory) property is assigned, the
usable physical memory level (mcmmiUsablePhysical) is reset to this level. |
| mcmmiUnmanagedPhysicalUsed | 36 | This is an estimate of how muchof the application's physical memory consumption (mcmmiWorkingSet) is used
outside of the managed image memory and the physical memory reserved by a
call to McResourceManage.ReserveMemory(mcmtPhysicalMemory) and then
allocated. It is computed as (mcmmiWorkingSet - mcmmiPhysicalAllocated -
mcmmiReservedPhysical), and will only be meaningful if physical memory that
is successfully reserved by a call to
McResourceManager.ReserveMemory(mcmtPhysicalMemory) is subsequently actually
allocated before accessing this property value. |
| mcmmiCriticalSectionNestingDepth | 37 | Depth of nesting with the memorymanager critical sections. For internal use only. |