In computing, commit charge is a term used in Microsoft Windows operating systems to describe the total amount of pageable virtual address space for which no backing store is assigned other than the pagefile. On systems with a pagefile, it may be thought of as the maximum potential pagefile usage. On systems with no pagefile, it is still counted, but all such virtual address space must remain in physical memory (RAM) at all times (once it is accessed).
The Windows Task Manager utility for Windows XP and Server 2003, in its Performance tab, shows three counters related to commit charge:
The program Process Explorer reports the same set of values, labeling the Total as Current, and additionally providing percentages of Peak and Current towards the Limit value.
The commit charge increases when any program is opened and used, and goes down when a program is closed. It will also change when already-running programs allocate or free private virtual memory; for example, with the VirtualAlloc and VirtualFree APIs.
In the Task Manager utility under Windows XP and Windows Server 2003, the graphical displays labeled as "PF usage" and "Page File Usage History," despite their labels, reflect not the pagefile contents but the total (or current) commit charge. The height of the graph area corresponds to the commit limit. These do not show how much has actually been written to the pagefile, but only the maximum potential pagefile usage: The amount of pagefile that would be used if all current contents of RAM had to be removed. In Windows 2000 and Windows NT 4.0, these same displays are labeled "Mem usage" but again actually show the commit charge and commit limit. Similar displays in the Task Manager of Windows Vista and later have been changed to reflect usage of physical memory.
In Task Manager's "Processes" display, each process's contribution to the "total commit charge" is shown in the "VM size" column in Windows XP and Server 2003. The same value is labeled "Commit size" in Windows Vista and later. The total commit charge will always be larger than the sum of these values, as the total includes system-wide allocations such as the paged pool.