Click to Rate and Give Feedback
MSDN
MSDN Library
System Services
Memory Management
 Memory Performance Information
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) Structure Task Manager Performance tab for Windows Server 2008 and Windows Vista Task Manager Performance tab for Windows Server 2003 and Windows XP/2000
Available KBytes MEMORYSTATUSEX.ullAvailPhys and PERFORMANCE_INFORMATION.PhysicalAvailable Subtract usage value shown in Memory graph from Physical Memory (MB): Total Physical Memory: Available
None MEMORYSTATUSEX.ullTotalPhys and PERFORMANCE_INFORMATION.PhysicalTotal Physical Memory (MB): Total Physical Memory: Total
Committed Bytes PERFORMANCE_INFORMATION.CommitTotal System: Page File first value (in MB) Commit Charge: Total
Commit Limit MEMORYSTATUSEX.ullTotalPageFile and PERFORMANCE_INFORMATION.CommitLimit System: Page File second value (in MB) Commit Charge: Limit
Free & Zero Page List Bytes
Windows Server 2003 and Windows XP/2000:  This performance counter is not supported.
None Physical Memory (MB): Free Not applicable
None PERFORMANCE_INFORMATION.CommitPeak None Commit Charge: Peak
None PERFORMANCE_INFORMATION.HandleCount System: Handles Totals: Handles
None MEMORYSTATUSEX.ullAvailPageFile None None
Pool Nonpaged Bytes PERFORMANCE_INFORMATION.KernelNonpaged Kernel Memory: Nonpaged Kernel Memory: Nonpaged
Pool Paged Bytes PERFORMANCE_INFORMATION.KernelPaged Kernel Memory: Paged Kernel Memory: Paged
Pool Paged Bytes + Pool Nonpaged Bytes PERFORMANCE_INFORMATION.KernelTotal Kernel Memory: Total Kernel Memory: Total
Processes (Objects object) PERFORMANCE_INFORMATION.ProcessCount System: Processes Totals: Processes
Thread Count (Process(_Total) object) PERFORMANCE_INFORMATION.ThreadCount System: Threads Totals: Threads
Cache Bytes + Shareable pages on the standby and modified lists PERFORMANCE_INFORMATION.SystemCache None System 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/2000:  Except for Cache Bytes, these performance counters are not supported.
None Physical Memory (MB): Cached Not 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 counter Structure Task Manager Processes tab for Windows Server 2008 and Windows Vista Task Manager Processes tab for Windows Server 2003 and Windows XP/2000
Handle Count None Handles Handles
Page File Bytes PROCESS_MEMORY_COUNTERS_EX.PagefileUsage Commit 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.PeakPagefileUsage None None
Pool Nonpaged Bytes PROCESS_MEMORY_COUNTERS_EX.QuotaNonPagedPoolUsage NP Pool NP Pool
Pool Paged Bytes PROCESS_MEMORY_COUNTERS_EX.QuotaPagedPoolUsage Paged Pool Paged Pool
Private Bytes PROCESS_MEMORY_COUNTERS_EX.PrivateUsage Commit Size VM Size
Thread Count (Process(<image name>) for the specified image) None Threads Threads
Virtual Bytes MEMORYSTATUSEX.ullTotalVirtualMEMORYSTATUSEX.ullAvailVirtual None None
Virtual Bytes Peak None None None
Working Set PROCESS_MEMORY_COUNTERS_EX.WorkingSetSize Working Set (Memory) Mem Usage
Working Set Peak PROCESS_MEMORY_COUNTERS_EX.PeakWorkingSetSize Peak Working Set (Memory) Peak Mem Usage
Working Set - Private
Windows Server 2003 and Windows XP/2000:  This performance counter is not supported.
None Private Working Set Not applicable
None PROCESS_MEMORY_COUNTERS_EX.QuotaPeakNonPagedPoolUsage None None
None PROCESS_MEMORY_COUNTERS_EX.QuotaPeakPagedPoolUsage None None
None MEMORYSTATUSEX.ullAvailPageFile None None
None MEMORYSTATUSEX.ullTotalPageFile None None

See Also

Memory Object
Objects Object
Process Object
Process Explorer tool


Send comments about this topic to Microsoft

Build date: 8/22/2008

Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker