The Commit Limit of Windows is the total amount of RAM and the size of all of the page files combined on the system. It is the maximum amount of system committed memory that the system can handle unless RAM is "hot-added" or the page file is increased. The Commit Charge or Committed Bytes is the total amount of memory used/committed by the operating system and all processes running on the computer. This memory is "in use" and has been written to by a process or by the kernel. The above screenshot is of Windows Task Manager on Windows 7. Highlighted in red is the System Commit Charge (2074 MB) and the System Commit Limit (8058 MB). If the System Commit Charge reaches the System Commit Limit, then the system will attempt to increase the page file size (if set to System Managed), otherwise, the system will be in an out of memory condition. The percentage of the System Commit Charge compared to the System Commit Limit can be measured using the "\Memory\% Committed Bytes In use" performance counter.
Processes operate in virtual memory and are unaware of the true physical environment of the computer, but when an application "commits" memory, then the operating system guarantees physical memory for the allocation. When the application writes to memory such as writing a value to a variable, then the memory is mapped to physical memory and adds to the System Commit Charge.
When the Windows operating system reports that it is low on "virtual memory" and mentions increasing the paging file, then it means that the System Commit Charge has reached the System Commit Limit. The paging file is commonly referred to as "virtual" RAM, hense this reference. Unfortunately, the concept of process and kernel virtual memory is an entirely different subject unrelated to the system commit limit.
If the "\Memory\% Committed Bytes In use" performance counter is over 75%, then the system is close to running out of memory (both RAM and all page files). To troubleshoot this issue, try to find the highest consumers of committed memory:
If all of the above troubleshooting steps have been exhausted, then the symptoms of a high system commit charge can be treated with one or more of the following:
Vital Signs Workshop: Microsoft Services offers an instructor led workshop called, "Vital Signs", which goes in depth into Windows architecture focused on Windows performance analysis. If you are interested, then contact your Microsoft Technical Account Manager (TAM). If you do not have a Microsoft Premier Support contract, then consider the great benefits of having one by going to our Microsoft Services Premier Support web site at: http://www.microsoft.com/microsoftservices/en/us/support_premier.aspx
"If you have identified processes consuming significant amounts of committed memory, then go here. [Link to future article]"
Is the "future article" already exist?
Hi Jegor,
I'm slowly working on them as I have time which unfortunately is in short supply. I am also trying to work on a book on this subject. Hopefully, I will be active on both soon.