Многие процессы, такие как git и node, работают в 10 раз медленнее в Windows 10, но быстро работают в безопасном режиме.

760
Patrick Szalapski

Некоторые программы командной строки кажутся немного медленными на ПК. Как я могу устранить неполадки? Например, на этом компьютере требуется более полсекунды для запуска git status:

PS> for (;;) { Measure-Command { git status } | findstr TotalSeconds } TotalSeconds : 0.7119173 TotalSeconds : 0.6040415 TotalSeconds : 0.6117674 TotalSeconds : 0.5779911 TotalSeconds : 0.6069439 ... 

(На другом ПК описанное выше выполняется за 0,05 с.) Некоторые другие команды, которые я заметил, также занимают слишком много времени:

PS> for (;;) { Measure-Command { node --version } | findstr TotalSeconds } TotalSeconds : 0.4630501 TotalSeconds : 0.3144418 TotalSeconds : 0.2842615 TotalSeconds : 0.2808537 

(Другой компьютер запускает это за 0,02 с.)

Еще одна хорошая мера:

PS> for (;;) { Measure-Command { npm --version } | findstr TotalSeconds } TotalSeconds : 3.4839123 TotalSeconds : 3.1501913 TotalSeconds : 2.9817682 TotalSeconds : 3.0423125 

Когда эти программы работают, я вижу, как загружается ЦП, как будто он привязывает 1/4 от четырех ядер ЦП. Использование ЦП повышается только в процессе, который я сам вызвал (например, Git.exe или Node.exe), а не в каком-либо другом процессе.

enter image description here

Я пытался отключить столько служб Windows, сколько смогу, до такой степени, что мой компьютер едва может что-либо делать, но у меня все еще есть время, подобное приведенному выше. Я гарантировал, что антивирус, брандмауэр и BeyondTrust отключены, и проблема сохраняется. У меня нет графики ATI (только Intel HD 520).

Времена одинаковы, независимо от того, запускаю ли я из Powershell, cmd.exe или bash.

Проблема уходит в безопасном режиме.

После нормальной загрузки я попытался остановить все ненужные процессы; медлительность сохраняется. Я пытался отключить все несущественные службы Windows; медлительность сохраняется. Я попытался отключить все ненужное оборудование в диспетчере устройств; медлительность сохраняется.

Кто-нибудь может предложить следующий шаг устранения неполадок? Боюсь, что причина этих проблем также в замедлении работы других приложений.

0
Как насчет перезагрузки время от времени? У вас безумное количество открытых ручек. Там наверное что-то подтекает ручками. Daniel B 5 лет назад 2
Оба ПК с Windows 10? Я испытал то же самое с инструментами Cli в Windows в отличие от Linux. Я обнаружил, что использование этих инструментов в VirtualBox с Linux в системе Windows было быстрее, чем использование этих инструментов непосредственно в Windows Thomas Sablik 5 лет назад 1
@ThomasSablik Оба компьютера имеют Windows 10. Patrick Szalapski 5 лет назад 0
@DanielB Я перезагрузил компьютер и снова запустил вышеописанное, и получил очень похожие настройки. Спасибо за идею. Patrick Szalapski 5 лет назад 0
Таким образом, вы говорите, что коэффициент равен 10. Возможно ли, что другой компьютер, соответственно, более производительный? SSD против HDD, ноутбук против настольного компьютера. Что-то вроде того. Thomas Sablik 5 лет назад 1
Системы достаточно похожи. Они оба имеют SSD, Quad Core i7 и оба являются ноутбуками. Я подумал, что для такой команды, как `git status`, это не будет иметь большого значения? Patrick Szalapski 5 лет назад 0
То же самое при работе в безопасном режиме? Вы пытались использовать Process Monitor sysinternal? root 5 лет назад 1
Сначала я запустил бы Process Monitor и подумал бы, что модули загружаются (Load Image) процессами, что-нибудь загружается, что не требуется? Если это так, предотвратите загрузку этих модулей. HelpingHand 5 лет назад 0
Я не уверен, что вы подразумеваете под "модулями" или "загрузкой изображения". Я вижу дерево процессов в SysInternals Process Explorer (не «Монитор»), и оно не дает мне никаких подсказок об использовании процессора, за исключением процесса, который я запускаю - в приведенных выше примерах git.exe и node.exe. Patrick Szalapski 5 лет назад 0
@root, в безопасном режиме все происходит НАМНОГО быстрее, что является хорошей подсказкой. Но, уже пытаясь закрыть как можно больше процессов и служб Windows. Любые предложения следующего шага? Patrick Szalapski 5 лет назад 0
Я отредактировал вопрос, чтобы уточнить, что еще я нашел. Patrick Szalapski 5 лет назад 0
Вы отключили службы, но вы также отключили автозапуск приложений? root 5 лет назад 0
Да, я тоже это попробовал. Patrick Szalapski 5 лет назад 0

1 ответ на вопрос

0
Patrick Szalapski

В итоге это была действительно Symantec Endpoint Protection. Отключение служб, похоже, не решает проблему, но делает следующее. Запустите это, чтобы подтвердить, что это устраняет проблему.

"%ProgramFiles(x86)%\Symantec\Symantec Endpoint Protection\smc.exe" -stop 

Это, однако, оставляет меня без Symantec Endpoint Protection.

Возможно, существует способ внесения в белый список определенных программ с помощью Symantec, но я не уверен, что это такое.

Похожие вопросы