Один из моих серверов - это Windows 2003 Enterprise Edition SP2. Обычно в течение дня в системе находится до 14 человек. Они используют обычные программы, такие как Office 2010, или любые интернет-браузеры, а также несколько специальных программ (для банковского дела и для развития своего основного бизнеса). Сегодня я наблюдал за сервером и заметил, что один процесс в одном из пользовательских сеансов использует постоянное количество ЦП (колеблется от 25 до 32% использования ЦП). Я искал этот конкретный процесс, и, похоже, он принадлежит системе. Однако это ненормально, если этот процесс выполняется в пользовательском сеансе (только один из 13 текущих сеансов), а также использует количество ЦП, которое остается почти постоянным. На некоторых других форумах люди предлагают использовать программу под названием "TameDOS", чтобы решить эту проблему, потому что, по их словам, она вызвана программами DOS, запущенными в определенном сеансе, и, следовательно, использует много процессора.
Это нормально? Есть ли другой способ исправить это?
ntvdm.exe (виртуальная машина DOS) вызывается всякий раз, когда пользователь пытается загрузить 16-битный (Win16) образ. 16-разрядное приложение MS-DOS эмулируется в ntvdm.exe, поэтому вы не можете увидеть, что это за приложение на самом деле. Проще всего выяснить, кто из пользователей запускает старую программу DOS, и сказать им, чтобы они остановили ее.
Другое решение Диспетчер системных ресурсов Windows, который вы можете использовать для более равномерного распределения использования ЦП среди всех вошедших в систему пользователей или всех запущенных процессов.
У меня была такая же проблема с процессом ntvdm.exe. Когда я запускал программу C ++ на моем сервере Windows 2003, она занимала 50% процессора. Мне нужно предоставить доступ к более чем 50 тонким клиентам на этом сервере. После установки «TAME DOS» я могу запускать C ++ на всех моих тонких клиентах с использованием процессора только 0% - 1%.