Назад | Перейти на главную страницу

Командный процессор Win7 (CMD.EXE) очень медленный

Кому-нибудь еще кажется, что командный процессор Windows 7 (CMD.EXE) действительно медленно запускается?

Я запустил этот тест из командной строки (ntimer - это утилита синхронизации из набора ресурсов сервера Windows, и вы можете просто не использовать ее, если она не установлена):

ntimer cmd / c для / l% a в (1,1100) do @cmd / c rem

Все, что он делает, это 100 раз запускает новый CMD.EXE. В моей базовой системе x64 Win7 для запуска требуется около 2,3 секунды. Выполнение этого на виртуальной машине x86 Win7 занимает около 5,6 секунды. Интересно, что в виртуальной машине, использующей старый 16-битный командный процессор COMMAND.COM, тот же тест занимает менее 1 секунды.

Почему CMD.EXE так медленно работает? Я ожидал, что производительность будет аналогична той, что я видел с COMMAND.COM в виртуальной машине. Соотношение скоростей CMD.EXE между необработанной машиной и виртуальной машиной кажется разумным, но абсолютная скорость очень медленная. У кого-нибудь есть мысли по этому поводу? Спасибо!

Я заметил это, потому что делал сборку программного обеспечения, и время выполнения увеличилось с 15 минут на моей старой виртуальной машине XP до 30 минут на моей новой виртуальной машине Win7. В процессе сборки используется утилита GNUMAKE и ОЧЕНЬ много обрабатывается командным процессором.

P.S. Первоначально я спросил об этом на stackoverflow.com, но они предложили мне пойти сюда.

Кажется, есть проблема с установленными раскладками клавиатуры и cmd.exe (по крайней мере, это верно для моей машины Vista и некоторых моих коллег).

Попробуйте удалить любые дополнительные языки из «Системные настройки-> Параметры региона и языка-> Клавиатуры и языки-> Изменить клавиатуры-> Установленные службы» (перевод на лету - YMMV).

Это уменьшило для меня запуск cmd.exe с «очень раздражающего» до «мгновенного».

вы пробовали PowerShell вместо cmd.com? Я считаю, что это аксессуары.

Я предлагаю использовать Sysinternals Process Explorer и Process Monitor, чтобы понять, что происходит, пока он зависает. Для обеих программ есть много отличных руководств, и я настоятельно рекомендую ознакомиться с ними.