System Administration & Network Administration
windows mysql performance-monitoring performance-counters
Updated Fri, 28 Oct 2022 22:16:22 GMT

"Committed Bytes In Use" is high when there are plenty of "Available Bytes"


My windows computer keeps showing low on memory message so I used performance monitor to check memory status. The results are:

  • Commit Limit: 25,758,334,976 (bytes)
  • Committed Bytes: 23,730,569,976 (bytes)
  • Committed Bytes In Use: 92%
  • Available Bytes: 9,843,258,114 (bytes)

*The physical memory of the computer is 24GB.

Can anyone explain why "Committed Bytes In Use" is so high when there are plenty of "Available Bytes"


EDIT:

I found that the process "mysqld.exe" is very strange. Its Private Working Set is 1,074,508K but its Commit Size is 8,437,172K

EDIT2:

The page file size of the computer is 0MB




Solution

The "Commit Size" is how much backed virtual memory the process has asked the operating system for and gotten permission to use. The "Private Working Set" is how much physical memory (RAM) the process is actually using.

When commit size is higher than private working set, that means the process is not using as much memory as it has asked for. This is perfectly normal.

You are getting low memory warnings because the commit size is close to the available backing store. This is most commonly caused by insufficient backing store and also forces the ejection of recently-used clean pages from memory, robbing your system of performance. The simplest solution to the problem is to add more backing store by increasing the size of the page file.

The system does not have to actually use the page file for it to provide a significant performance benefit and for it to solve the low memory problem. Simply having the paging file space available, even if it never gets used, permits the system much more flexibility in what promises it can make to applications and what pages it has to keep in physical memory.