One of my servers is a Windows 2003 Enterprise Edition SP2. Usually there are up to 14 people logged in during all day. They use regular programs like Office 2010 or any internet browsers and a couple of specific software as well (For banking and for their core business developing). Today I've been monitoring the server and noticed that one process in one of the users sessions is using a constant amount of CPU (oscillating between 25 and 32% of CPU usage). I've been looking for this particular process and it seems to belong to the system. However, it is not normal to having this process running in a user session (just one among 13 current sessions) and also using an amount of CPU that remains almost constant. In some other forums people suggest to use a program called "TameDOS" to fix this problem because they said is caused due to DOS programs running in certain session and therefore it uses plenty of cpu.

2 Answers
2

I had the same problem with the ntvdm.exe process. When I would start a C++ program on my Windows 2003 server it was taking 50% of the cpu. I need to give access to more than 50 thin clients on this server. After installing "TAME DOS", I can run C++ on all my thin clients with processor usage only 0% - 1%.

ntvdm.exe (Virtual DOS Machine) is called whenever a user attempts to load a 16-bit (Win16) image. The 16-bit MS-DOS application is emulated within ntvdm.exe, which is why you can't see what the actual application is. The easiest thing to do is find out what user is running an old DOS program and tell them to stop it.

Another solution is Windows System Resource Manager, which you can use to more equitably distribute CPU usage among all the logged on users, or all the running processes.

@Gaston - Just a note from the W2K3 WSRM documentation: Windows System Resource Manager does not enforce resource allocation policies until CPU consumption reaches 75 percent. - So this may not work for you in your scenario.
–
joeqwertyDec 11 '12 at 2:58

@joeqwerty Thank you - you're right - but that also raises another point that "25% to 32% of CPU usage" isn't that bad... if the CPU usage is not otherwise interfering or hindering your work, then we want our CPUs to be working. It's also of note that DOS emulators (instances of the ntvdm.exe process) can be shared, so it might be several DOS programs working together.
–
Ryan RiesDec 11 '12 at 3:14

1

Especially considering that System owns ntvdm.exe... which leads me to believe that many users on the same system could be sharing process memory space... security violation! Moral of the story is get rid of 16-bit DOS programs.
–
Ryan RiesDec 11 '12 at 3:40