Fog Creek Software
Discussion Board

100% CPU Usage under Windows XP

Hi All,

I am facing a very ODD problem currently.
I have just upgraded my machine from Windows 2000 to Windows XP.

Trouble is invariably my CPU usage increases to nearly 100% and machine slows down drastically.

Upon checking Task manager, I found that 'ntvdm.exe' is running and it is taking most of resources.

Now I found out that ntvdm.exe is used for virtual mode running of 16 bit apps. Now I do not have any 16 bit Apps. I use Visual Studio + Office Apps.

I even tried to delete ntvdm.exe but to no help.

Any idea for this behaviour. Can you suggest a way out?


Thursday, January 30, 2003

Download "Startup Cop" from the ZDNet download site and you will be able to see if this is running at startup and can be disabled.

If not, then you want to go into services and see if you can disable is starting up automatically. Check ou the knowledge base as well.

Also check if you have any 16 bit hardware, like ISA cards - vdm stands for Virtual Device Manager.

Stephen Jones
Thursday, January 30, 2003

Sorry to be a pedant Stephen, but VDM stands for Virtual DOS Machine.

I certainly wouldn't recommend trying to delete ntvdm.exe, as it's a core operating system component!

John Topley
Thursday, January 30, 2003


re: NTVDM.exe
Thursday, October 24, 2002 at 6:46 am
Windows XP Annoyances Discussion Forum
Posted by Robert Senft  [find other messages by Robert Senft]

Run MSCONFIG - Click Startup tab - Find the NTVDM.EXE program and take the tick away! However, on my computer the program was NOT visable! There was a BLANK line where I took the tick away. After that, NTVDM.EXE did not load and this was the end of the problem. You can also press CTRL-ALT-DEL and in Processes stop NTVDM.EXE running.

On Sunday, June 23, 2002 at 8:10 am, Chris wrote:
>I am having a strange problem here...
>a program called ntvdm.exe is opening aboutt wenty or thirty instances of itself
>and taking up 99% of my CPU resources.
>I have looked up the program, which apparently is Windows NT Virtual DOS Machine.
>Why does my PC suddenly feel the need to open so many of this program? It causes
>incredibly slow performance (about two minute between a mouse-click and the action
>that click should cause), and eventual system freeze.

Thursday, January 30, 2003


Thanks for the feedback.
One founding: Though I thought that I am not using any 16 bit app. There was one.

But when I am just keeping application running without using it, why ntvdm.exe takes around 95% of CPU time?

My application is Borland Turbo C 3.0


Thursday, January 30, 2003

"But when I am just keeping application running without using it, why ntvdm.exe takes around 95% of CPU time?"

It does because it can. Actually, it is a result of the way CPU usage is dispatched and measured.

A dispatcher can assign CPU time to processes whenever it knows it needs some. When it can't determine that, it just gives any available time, unless another process needs it more.

nvtdm.exe can't tell the dispatcher when it does or does not need time, because 16-bit applications don't work that way.

So don't worry, your processor is not being hogged, and it won't wear out before it becomes obsolete

Practical Geezer
Friday, January 31, 2003

I'm pretty sure this shouldn't be happening; even old cooperative-multitasking Windows still had a notion of blocking or yielding the CPU, right?

On an unloaded system, the task list should show ~99% of the CPU in the system idle process.

Now, there is some *extremely* poorly written software out there that idles in a while() loop without yielding the CPU. (the old LightNet render management software did this). You may happen to be running one of these... If so, dump it immediately if you can.

Theoretically a CPU-consuming process should not harm a desktop system (as long as you don't mind some extra heat). The cache footprint and context switching overhead may cause other programs to slow down slightly though.

Dan Maas
Friday, January 31, 2003

Old windows knew a process was idle when it called GetMessage.

DOS apps, on the other hand, had no GetMessage calls. The subsystem in question does DOS emulation. DOS is a single-tasking system, so there's no need (as far as the process is concerned) to tell the OS that the process is idle - after all, it's the only process in the system.

As a result, ntvdm doesn't know when it's app is idle, so all it can do is grab CPU cycles whenever it can.

Win95 (I think) did introduce a call that dos apps could make to play nice with the multitasker, but I don't know if apps ever made use of it.

Chris Tavares
Friday, January 31, 2003

"Can you suggest a way out?"

The door works better than Windows.

Monday, February 3, 2003

Hi there.
Ihave been sniffing around the same problem. Since I installed XP Professional SP1 I haven't been able to run older games like Civilisation II. Before Service Pack 1 it hasn't been a problem. It is nvtdm.exe that is keeping my CPU busy. Since it seems to be needed to run 16 bit apps it seems to me that there has to be a way to get it running correctly...does anyone know the way ?

Tom Smit
Monday, March 22, 2004

I have the same problem - and is showing up as the culprit.  But no one seems to have an answer as to how I can find the 16-bit program that is launching this software.  It happens when I try to install (on my XP machine) software provided by MCI's Perspective billing CD that requires it for me to see the data.  The software is MSDE.  They require that I have c:\mssql7 as a directory (loaded with files) and another directory.  When I use the CD to install, I get an 100% CPU usage.  I'd like to stop however their script is running.  I need help!  Thanks! 

E. L. Rafats
Friday, June 25, 2004

I have win xp pro and my cpu usage is at 95% to 100% and starts to run slow at times. I checked the task manager and saw that something called corlcfg.exe is using all my pc usage. Can anyone help me with this.

chris colon
Saturday, June 26, 2004

I am having a similar problem, I think. Whenever I turn on my computer a program called msupdep.exe launches, then windows tells me it caused a problem with ntvdm.exe, and shuts down. this msupdep.exe program is located in my temp folder, and whenever i delete it, it comes back the very next day. I have run two separate spybot destroy utilities, scanned with three virus scanners, searched the registry and even looked online (yahoo, google, msn) and whatever this msupdep is, I got NO hits online, the registry doesn't refer to it at all, and none of the scans picked it up as hostile.
So, what the hell is it, how do i get rid of it, and just out of curiousity, how did I get it?

Stormy Fairweather
Saturday, July 10, 2004

*  Recent Topics

*  Fog Creek Home