15 November, 2012

Windows 8 RTM Memory leak - NDU.SYS?

Few days after Win8 RTM launch I decided to install it on my old good HP Pavilion DV7 laptop. Win7 served me perfectly for the last two years and I was quite curious how Win8 (Windows 8 Pro Build 9200 x64) compares with it.

I made a clean installation that took ~20min. New Modern UI..nice..polished desktop, speed,..nice too. Memory usage at start-up was similar as with Win7 (~1GB of total 4GB) but now the story begins. When I started to copy big files around LAN (ISO files, AVI,..), torrents,.. memory usage started to constantly grow. The new task manager was showing that the non-paged memory pool raised very fast; memory usage stopped at ~3.6GB and then machine started to crawl. Only restart helped every-time. The problem was always reproducible.

Just Chrome browser and MS Word were running most of the time..memory usage 3.5GB !?!?!





I suspected some third-party network driver is reason for this. I used the tool “poolmon.exe” (part of Windows Driver Kit) to find out which driver is causing the memory leak (link1, link2, link3). Poolmon.exe  showed that non-paged memory grows constantly when copying big files (few 100MB). The driver tag found by poolmon.exe was “Wfpn” and findstr found “netio.sys” that is the part of Win8 core networking subsystem.  Therefore, one of network related driver is a problem, so let’s find which one.

Laptop has intergrated gigabit NIC from Realtek (RTL8168) so I tried to update it:
1. installed Win7 drivers (Win8 still not supported) from HP official site -> memory leak remains;
2. installed Win8 latest drivers from Realtek -> memory leak remains;

I even disabled LAN interface and tried WLAN only -> still memory leak.

Therefore, the culprit is not NIC/WLAN driver at all. The next step was booting machine in “safe mode with networking” and I was surprised - no more memory leaks!!  I made a list of loaded network drivers (using DriverView) and compared it with the list of drivers in normal boot. The following kernel drivers were not loaded in safe mode:
- lltdio.sys,
- mslldp.sys,
- Ndu.sys,
- rspndr.sys,
- srv.sys, 
- srv2.sys, 
- srvnet.sys,
- wanarp.sys.

After disabling Ndu.sys (Windows Network Data Usage Monitoring Driver) with Autoruns and performing normal boot - voila memory leak has gone!!!!

Ndu driver was introduced with Win8 and is actually quite buggy in combination with RTL8168 NIC. Microsoft should fix that in some SP...let's hope soon.

I wonder if anyone else has encountered a similar memory leak?

33 comments:

Derrick Glass said...

I have the same issue, HP Pvailion dv7, no problem on Win7, leak so bad on Win8 I have to reboot every day (I'm accustomed to running for weeks without reboot otherwise). I've disabled NDU following your recommendation and I'll report back on the results (should know in 24 hours or so). Thanks for digging this one out!

Derrick Glass said...

It's been about a day, and it looks like no leaks. I'll call this a winner for now, if any other issues I'll report back. This should be reported to HP and Microsoft. Thanks again!

Damjan Kovac said...

Hi Derrick!

I'm glad the leak has gone. My machine runs flawlessly since disabling ndu.sys and now I'm happy with Win8 :)

Derrick Glass said...

Me, too. It was my only complaint.

DontReadThis said...

hi, i have a samsung np900x3c with the same issues, however i cannot find ndu.sys or network data usage monitoring in autoruns... can you give me a step by step so i can disable it and test it?

Damjan Kovac said...

Hi, sure.. just run Autoruns, go to "Drivers tab", from Options/Filter options menu disable "Hide Microsoft entries" and "Hide Windows entries". Now you should see "Ndu.sys", disable and restart.

Derrick Glass said...

A followup. After disabling NDU, my workstation ran for a couple of days but a memory leak recurred. I went through my list of running services and found "Array SSL VPN Service" and "Array Utility Service" to be the culprits. Recycling them reclaimed all the memory immediately (this may have been at the root of the NDU issue).

These services support SSL VPN access to SoftLayer clound systems management.

91koff said...

Also find out using pollmoon this driver. In my case data was like this:
Wfpn Nonp 5483064 1 5483063 3509157440 639
NDNB Nonp 5483064 1 5483063 350917184 64

NDNB directly forwarded me to ndu.sys.

After googling for some time I've found this article. Thanks to author I got information how to disable it.

Tomas Rodriguez said...
This comment has been removed by the author.
Tarjei Mørkve said...

hi. I have been having the same problems with memory leak on my samsung 900x4c, but disabling the Ndu.sys solution does'nt seem to be working for me. any clue why? thanks.

Tarjei Mørkve said...

Update:

After some googling I tried uninstalling "intellimemory" and my memory has now dropped to a stable 24-25% with normal use. A little high still but nowhere near 80-90 % like before.

Terrenzani Erik said...

Thank you so much!!!! You saved me!!!

Kevinatloviovitchesky said...

Thaaaaanks. I had a huge memory leak on Windows 8.1 whenever I used uTorrent for an extended period of time, and couldn't figure out where it came from. Updated drivers did nothing... So I found this, remeved the bastard and boom! a whole night and 25% used, pretty much the same as when I started! (yaaay!)

ggggemoney said...

Hey dude this fix is really working! I was at 97% memory used and fps dropped from 150 to 40 in games and after this memory is stable at 25%. I will keep monitoring and get back.

LK said...

I just wanted to say thanks! I have been pulling my hair out, sifting through the types of memory (active, standby, nonpaged, ...etc.) finally got poolmon working and it was exactly as you described. Whenever I'd download something with bittorrent, the memory would get sucked into a nonpaged black hole. I went to cmd and typed: "sc config NDU start=disable" and everything is running smooth as silk.

Derrick Coetzee said...

This fix also resolved the issue for me. In my case I was uploading large (3.6 GB) videos to YouTube and that was rapidly consuming my 16 GB of RAM. It was all nonpaged and poolmon identified the same tags as the culprits. I'm using Windows 8.1.

Derrick Coetzee said...

Forgot to mention: my NIC is Killer e2200 Gigabit Ethernet (built into my motherboard). I'm also getting a PCI Express NIC just in case - I'm afraid this network adapter may have other issues as well.

LK said...

Thanks for reminding me Derrick. I am also working on a computer with the E2200 Killer Network adapter built into the MSI Z87-G45 motherboard. And disabling the NDU service worked.

P. Marlowe said...

Thanks for the help. It was the Realtek driver. I went to the Realtek site and downloaded the updated driver from http://www.realtek.com/downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false and my memory usage went from 95% to 15%.

Izar Talon said...

Thank you, sir!

About 2 weeks ago my Win 8.1 laptop started giving me memory usage warnings, so I went to the Task Manager and saw that I was using 85% of my 8 gigs of RAM with no accounting for it in the list of programs running; just tonight I found your advice and disabled the driver, and I'm now back down to 20-30% of usage.

Thank you again! I was going nuts not being able to find what was leaking!

Mark Lumahan said...

You're a champion mate. I was really worried seeing 90% of my 16GB RAM being used up from boot. I didn't actually see this before even while playing heavy games such as Dragon Age Inquisition. Cheers!

alex said...

Wonderful! Worked immediately. Thank you very much. Visit more info:- Skype Help and Call +1-800-231-46Free).

Saad said...
This comment has been removed by the author.
Saad said...

Thanks, it works, you helped a lot, I was using wifi for 2 years, faced no problem, using LAN for last 3 days now and having this critical issue, took more then 10 min to shutdown.

bub dad said...

to lk
tried your idea, but had to modify it slightly to get it to run on my windows 8.1 lenovo box

yours
sc config NDU start=disable

modified
sc config NDU start= disabled.
(NOTE: the space after the "start=" is important)

Mick Robbins said...

Solved the issue for me as well on Win 8.1 using autoruns. Thank you very very much.

Cheers and much appreciation from Mick.

Ye Lin Kaung said...

Hi,

I didn't understand ur instructions of disabling NDU.sys.
So, I tried to disable it using a youtubevidee (https://www.youtube.com/watch?v=FzmzR3FFS8w)

But it does NOT work for me.

My memory is not going up to 90% or something.
What's happening to me is:
My memory usage is showing at least 64% of 4GB RAM (~2.5GB)
I checked the total usage of all my background processes and running apps (which is only Firefox (500 MB) and in total, only 680 MB (which is observed under "Users" tab)
When I checked the memory usage under Performance, the In Use memory is showing 2.5 GB.

If you have any ideas, pls do let me know.
I would greatly appreciate any advices!

Damjan Kovac said...

Hi Ye Lin Kaung,

download Autoruns tool from https://technet.microsoft.com/en-us/sysinternals/bb963902.aspx and unpack it to preferred folder. Run autoruns.exe as Administrator.

Under Options untick Hide Windows Entries, goto Drivers tab and untick Ndu entry.
Restart the computer. It should be loaded without Ndu.sys

Hope it helps.
FYI - it seems Windows 10 has fixed the issue.

Deepak Singh Bhakuni said...

There is a proviso for comprehensive solutions all the time, so not to worry, dial the customer service number for Yahoo and get indeed the best of the resolutions in just a little while. Consult us anytime and our helpline facility will let you access the account shortly.

daisy said...

thanks for sharing this blog.......it's really helpful
keep posting

Дмитрий Михайлов said...

God bless U !
Thnx a lot, it takes 2 weeks 4 me to solve my problem with mem leaks (b4 I found yr. blog).
---
From Russia with Love (not war)/

Alex milner said...

There are much software which supports the Windows 8 RTM. I am glad that we are today getting the new playground for this item which is highly demanded. I hope that these will provide one of the best support for the real-time management.Dental school statement of purpose Writers

Brien said...

Thanks for the fix. Fixed the ASUS after installing Win 10 and being so slow I wanted to throw it away. lol