Solved

Memory Leak in Windows 2012, Non-Paged pool 8.5GB

Posted on 2016-10-21
25
62 Views
Last Modified: 2016-10-22
Windows Server 2012 STD
32GB RAM
SQL 2008 STD Server running. (MAX ram reserved 18GB)
Hyper-V installed, runs 1 virtual guest (Windows 2012, MAX ram 4GB)

I think my server has memory Leak. Memory in Task Manager doesn't add up. So, I did some research and it shows that the non-paged pool reached limit. Microsoft says it starts with 3% of total physical memory which is around 1GB in my case. But it reached the non-paged pool 8.5GB.

I turned off SQL server and Hyper-V guests, then restarted the server, still it shows 8GB non-paged pool. So I guess it's not related to Hyper-V or SQL.

I tried to find a Poolman.exe file to pin-point where the leak comes from, but it's not available for Windows 2012.

If you have experienced this problem and troubleshooted before, please advise.

Thank you.

2016-10-22-01_40_08-MIS-HAN2---TeamV.png
0
Comment
Question by:crcsupport
  • 12
  • 10
  • 3
25 Comments
 
LVL 6

Expert Comment

by:No More
ID: 41854881
Do you have your server up to date with windows updates ?

Is your page file set to specific size or is it managed by OS ?
0
 
LVL 1

Author Comment

by:crcsupport
ID: 41854892
Do you have your server up to date with windows updates ? No, last time update was done is Sept,2015

Is your page file set to specific size or is it managed by OS ? Automatic. But page file size in C driver is 4.7GB. I don't think this is.
0
 
LVL 1

Author Comment

by:crcsupport
ID: 41854895
Actually it's NON paged memory.
I am trying to find what's causing, As I read, it's caused by driver problem since non paged pool is related to it.

For quick remedy, is there any way to limit the non-paged pool? and is there any bad consequence of doing it?

For the complete detection, poolman.exe is not downloadable and not available for windows 2012.
Instead, I downloaded Process Explorer and added a column 'Non paged', it shows only less than 1000K for each process.
0
 
LVL 6

Expert Comment

by:No More
ID: 41854897
What's your server vendor ?

try this cmd:

findstr /m /l MPP *.sys

and let me know name of sys files
0
 
LVL 1

Assisted Solution

by:crcsupport
crcsupport earned 0 total points
ID: 41854904
C:\Windows\System32\Drivers>findstr /m /l MMP *.sys
lsi_fc.sys
lsi_sas.sys
lsi_scsi.sys

C:\Windows\System32\Drivers>

The server is HP proliant Gen 8 server.

What is this command?
0
 
LVL 6

Expert Comment

by:No More
ID: 41854907
Ok LSI drivers might be causing this issue, so update you LSI raid/host controller drivers
0
 
LVL 1

Author Comment

by:crcsupport
ID: 41854908
The server has HP Smart Array P420i and when I tried to update driver through Comptuer Management, it says it's up to date
0
 
LVL 6

Expert Comment

by:No More
ID: 41854912
Do you mean like Computer - Device Manager ? Update Drivers
0
 
LVL 6

Assisted Solution

by:No More
No More earned 500 total points
ID: 41854914
I tell you this I'm 100% sure you have issue with hardware drivers on your server, so I suggest that you go to HP website and download updates from there, also you should update your windows server, because last update Sept,2015 is critical in my opinion
0
 
LVL 1

Author Comment

by:crcsupport
ID: 41854920
i am trying to go to HP website to download, it seems they have problem today.
I'm updating windows server right now 200 updates.
I'm not sure it will also update the driver.

Do you think it's good idea limiting non paged pool like this until I can update drivers?
https://www.youtube.com/watch?v=ehediyLH8tI
0
 
LVL 6

Accepted Solution

by:
No More earned 500 total points
ID: 41854921
I would say for windows server would be like this

1: Open Registry : type regedit on search bar

2: HKEY- SYSTEM -Current control set - Control - System manager - Memory management - right side Non Paged Pool : Select Decimal and Change value to 192 [ The value for Non-Paged Pool and paged pool size between 1MB to 512MB. However, it is recommended to set 192MB].

3: Controlset001- Services- Null- right side Star : change value to 4
After a restart look back to Task manager it should be back to mb.
0
 
LVL 6

Expert Comment

by:No More
ID: 41854922
I will check that on my server in a minute
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 1

Author Comment

by:crcsupport
ID: 41854925
I found the fking problem.
I always didn't like it, it never defrag, but it claims it does. It's Diskeeper.
I was asked by another colleague to install it to defrag SQL file, it never does. I just left it, it shows all kinds of 'real-time' I/O elimination it claims. What it does is, it intercepts I/O between disk and Windows and sometime their own definition of intelligent file defragmentation prevention works, they claim.

I uninstalled it, it drops non-paged pool right away. Before that, it was sucking up memory from SQL server, dropped from 20GB to 7GB reserved for SQL.

What a disaster, this clumsy software, I was about to pay 400 dollars to get licensed.
0
 
LVL 6

Expert Comment

by:No More
ID: 41854927
Good news, I was about to give you links for registry
0
 
LVL 1

Author Comment

by:crcsupport
ID: 41854928
Can you give me the links you found?
Windows 2012 doesn't have NDU key which was shown in the video.
I like to keep it as reference for future.
0
 
LVL 1

Author Comment

by:crcsupport
ID: 41854929
By the way, it was actually disk related issue. I  would have not been able to find the problem if you didn't mention it. Thanks.
0
 
LVL 1

Author Comment

by:crcsupport
ID: 41854930
Now it dropped to 272MB lol. I can allocate 20GB to SQL again.
0
 
LVL 6

Expert Comment

by:No More
ID: 41854932
That's what I though ,when the command showed Raid controller drivers

In case you will need this for reference :

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Memory Management]
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager\Memory Management]
Non Paged Pool : Select Decimal and Change value to 192

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Null]
 Controlset001- Services- Null- right side Start : change value to 4
0
 
LVL 1

Author Comment

by:crcsupport
ID: 41854933
Ah.. that's it. Null. I don't know what  that's for, but I see the key in registry.
0
 
LVL 6

Expert Comment

by:No More
ID: 41854935
Well I'm glad it's working now for you
0
 
LVL 78

Expert Comment

by:David Johnson, CD, MVP
ID: 41854937
not always related to drivers look under processes as well  check under processes as well with RAMapp.. Also compare this to resource manager values
0
 
LVL 1

Author Comment

by:crcsupport
ID: 41854942
Yes, it was actually driver issue by Diskeeper I guess.
I checked Paged pool, all processes, non.
Diskeeper uses so called 'intelligent I/O' which intercepts I/O and defrag between Windows Kernel and Disk. That's why it's using Non paged pool and doesn't shows in Paged pool I guess.
0
 
LVL 78

Expert Comment

by:David Johnson, CD, MVP
ID: 41854945
Glad you found the culprit
0
 
LVL 1

Author Comment

by:crcsupport
ID: 41854946
Thank you, David. YOu saved my life
1
 
LVL 78

Expert Comment

by:David Johnson, CD, MVP
ID: 41854950
David Fiala that is.. I joined really late to the game and didn't refresh until you had already solved the problem
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

ADCs have gained traction within the last decade, largely due to increased demand for legacy load balancing appliances to handle more advanced application delivery requirements and improve application performance.
Ever wondered why sometimes your SQL Server is slow or unresponsive with connections spiking up but by the time you go in, all is well? The following article will show you how to install and configure a SQL job that will send you email alerts includ…
This tutorial will walk an individual through the steps necessary to join and promote the first Windows Server 2012 domain controller into an Active Directory environment running on Windows Server 2008. Determine the location of the FSMO roles by lo…
Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now