1

Recently our server becomes hanging quite often. I suspect a memory leak, yet still cannot find any suspect. The Event Log records the situation like this:

- <SystemInfo>
  <SystemCommitLimit>49195651072</SystemCommitLimit> 
  <SystemCommitCharge>49195651072</SystemCommitCharge> 
  <ProcessCommitCharge>3172712448</ProcessCommitCharge> 
  <PagedPoolUsage>432541696</PagedPoolUsage> 
  <PhysicalMemorySize>16983396352</PhysicalMemorySize> 
  <PhysicalMemoryUsage>16197967872</PhysicalMemoryUsage> 
  <NonPagedPoolUsage>183476224</NonPagedPoolUsage> 
  <Processes>139</Processes> 
  </SystemInfo>
- <ProcessInfo>

As you see, the SystemCommitCharge reaches SystemCommitLimit (~45GB), but the ProcessCommitCharge is merely 3GB.

I even check the 3 processes which use the most memory at that time, but together they only use about 1GB. There are about 100 processes more, but each of them uses 50MB at most.

Windows successfully diagnosed a low virtual memory condition. The following programs consumed the most virtual memory: sqlservr.exe (4480) consumed 565637120 bytes, mysqld.exe (4500) consumed 362201088 bytes, and java.exe (1628) consumed 314191872 bytes.

Everything seems to indicate that there are something other than my processes which hog the resource.

One more thing I notice is that currently (after system restart) our Committed memory and Cache increase a lot compared to normal memory use. However, when double-check with Rammap, I see most of the memory is Stand By, which means it should not affect system performance. Also, non-paged memory is only 133MB now, so drivers' fault should not be the issue. I'm clueless.

Checking our server closely for 3 days, I can see that used memory increase little by little, from:

(30/08)

In Use = 3.4 GB Committed = 5.3 GB Cached = 2.2 GB Paged Pool = 225 MB Non-paged Pool = 76.2 MB to

(01/09)

In Use = 3.9 GB Committed = 23.9 GB Cached = 11.9 GB Paged Pool = 335 MB Non-paged Pool = 133 MB

Is there a way to detect this "mysterious factor" at play?

1 Answer 1

1

You could check for memory leaks using Poolmon...

It's part of the Windows Driver Kit (WDK).

Some helpful links from Microsoft:

http://msdn.microsoft.com/en-us/library/ff545405(v=VS.85).aspx

http://msdn.microsoft.com/en-us/library/ff550458.aspx

http://msdn.microsoft.com/en-us/library/ff550442(VS.85).aspx

2
  • thanks, I'm trying poolmon. Seeing some suspects here and there, but I cannot find the meaning of tag names: CM31, MMst, NtfF, Ntff, MmRe... still in research for this. Sep 8, 2016 at 6:35
  • In such cases I usually go to Google and add the word "driver". Example: Googling "CM31 driver" nets suggestions on how to find the driver yourself. It is going to be a driver on your system, which may not be on all other systems. Many sites suggest a findstr command run in C:\Windows\Drivers to help you identify the culprit.
    – NoelC
    Sep 9, 2016 at 17:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.