Memory Performance Information

Memory performance information is available from the memory manager through the system performance counters and through functions such as GetPerformanceInfo, GetProcessMemoryInfo, and GlobalMemoryStatusEx. Applications such as the Windows Task Manager, the Reliability and Performance Monitor, and the Process Explorer tool use performance counters to display memory information for the system and for individual processes.

This topic associates performance counters with the data returned by memory performance functions and the Windows Task Manager:

System Memory Performance Information

The following table associates memory object performance counters with the data returned by the memory performance functions in the MEMORYSTATUSEX, PERFORMANCE_INFORMATION, and PROCESS_MEMORY_COUNTERS_EX structures, and with the corresponding information displayed by Task Manager.

Memory object counter (unless otherwise noted)StructureTask Manager Performance tab for Windows Server 2008 and Windows VistaTask Manager Performance tab for Windows Server 2003 and Windows XP
Available KB MEMORYSTATUSEX.ullAvailPhys and PERFORMANCE_INFORMATION.PhysicalAvailableSubtract usage value shown in Memory graph from Physical Memory (MB): TotalPhysical Memory: Available
None MEMORYSTATUSEX.ullTotalPhys and PERFORMANCE_INFORMATION.PhysicalTotalPhysical Memory (MB): TotalPhysical Memory: Total
Committed Bytes PERFORMANCE_INFORMATION.CommitTotalSystem: Page File first value (in MB)Commit Charge: Total
Commit Limit MEMORYSTATUSEX.ullTotalPageFile and PERFORMANCE_INFORMATION.CommitLimitSystem: Page File second value (in MB)Commit Charge: Limit
Free & Zero Page List Bytes

Windows Server 2003 and Windows XP:  This performance counter is not supported.

NonePhysical Memory (MB): FreeNot applicable
None PERFORMANCE_INFORMATION.CommitPeakNoneCommit Charge: Peak
None PERFORMANCE_INFORMATION.HandleCountSystem: HandlesTotals: Handles
None MEMORYSTATUSEX.ullAvailPageFileNoneNone
Pool Nonpaged Bytes PERFORMANCE_INFORMATION.KernelNonpagedKernel Memory: NonpagedKernel Memory: Nonpaged
Pool Paged Bytes PERFORMANCE_INFORMATION.KernelPagedKernel Memory: PagedKernel Memory: Paged
Pool Paged Bytes + Pool Nonpaged Bytes PERFORMANCE_INFORMATION.KernelTotalKernel Memory: TotalKernel Memory: Total
Processes (Objects object) PERFORMANCE_INFORMATION.ProcessCountSystem: ProcessesTotals: Processes
Thread Count (Process(_Total) object) PERFORMANCE_INFORMATION.ThreadCountSystem: ThreadsTotals: Threads
Cache Bytes + Sharable pages on the standby and modified lists PERFORMANCE_INFORMATION.SystemCacheNoneSystem Cache
Cache Bytes + Modified Page List Bytes + Standby Cache Reserve Bytes + Standby Cache Normal Priority Bytes + Standby Cache Code Bytes

Windows Server 2003 and Windows XP:  Except for Cache Bytes, these performance counters are not supported.

NonePhysical Memory (MB): CachedNot applicable

 

Process Memory Performance Information

The following table associates process object performance counters with the data returned by the memory performance functions in the MEMORYSTATUSEX, PERFORMANCE_INFORMATION, and PROCESS_MEMORY_COUNTERS_EX structures, and with the corresponding information displayed by Task Manager.

Process object counterStructureTask Manager Processes tab for Windows Server 2008 and Windows VistaTask Manager Processes tab for Windows Server 2003 and Windows XP
Handle Count NoneHandlesHandles
Page File Bytes PROCESS_MEMORY_COUNTERS_EX.PagefileUsageCommit Size for all processes except the System process. For the System process, Page File Bytes is always 0.VM Size for all processes except the System process. For the System process, Page File Bytes is always 0.
Page File Bytes Peak PROCESS_MEMORY_COUNTERS_EX.PeakPagefileUsageNoneNone
Pool Nonpaged Bytes PROCESS_MEMORY_COUNTERS_EX.QuotaNonPagedPoolUsageNP PoolNP Pool
Pool Paged Bytes PROCESS_MEMORY_COUNTERS_EX.QuotaPagedPoolUsagePaged PoolPaged Pool
Private Bytes PROCESS_MEMORY_COUNTERS_EX.PrivateUsageCommit SizeVM Size
Thread Count (Process(<image name>) for the specified image)NoneThreadsThreads
Virtual Bytes MEMORYSTATUSEX.ullTotalVirtualMEMORYSTATUSEX.ullAvailVirtualNoneNone
Virtual Bytes PeakNoneNoneNone
Working Set PROCESS_MEMORY_COUNTERS_EX.WorkingSetSizeWorking Set (Memory)Mem Usage
Working Set Peak PROCESS_MEMORY_COUNTERS_EX.PeakWorkingSetSizePeak Working Set (Memory)Peak Mem Usage
Working Set - Private

Windows Server 2003 and Windows XP:  This performance counter is not supported.

NonePrivate Working SetNot applicable
None PROCESS_MEMORY_COUNTERS_EX.QuotaPeakNonPagedPoolUsageNoneNone
None PROCESS_MEMORY_COUNTERS_EX.QuotaPeakPagedPoolUsageNoneNone
None MEMORYSTATUSEX.ullAvailPageFileNoneNone
None MEMORYSTATUSEX.ullTotalPageFileNoneNone

 

Related topics

Memory Object
Objects Object
Process Object
Process Explorer tool

 

 

Community Additions

ADD
Show:
© 2014 Microsoft