Git имеет важное значение для моего рабочего процесса. Я запускаю MSYS Git в Windows XP на своей четырехъядерной машине с 3 ГБ оперативной памяти, и обычно это отзывчиво и zippy.
Неожиданно возникла проблема, из-за которой требуется > 30 секунд для запуска любой команды из командной строки Git Bash, включая ls или cd. Интересно, что из приглашения Bash выглядит, что ls работает довольно быстро, я могу увидеть результат из ls, но для возврата запроса потребуется ~ 30 секунд. Если я переключусь в командную строку Windows (запустив cmd из меню "Пуск" ), то соответствующие команды также будут выполняться навсегда, даже для запуска. Например, git status может занять около минуты, прежде чем что-нибудь произойдет. Иногда процессы просто не заканчиваются.
Обратите внимание, что у меня установлен "MSYS Git", а также обычный "MSYS" для таких вещей, как MinGW и make.
Я считаю, что проблема связана с sh.exe, расположенной в C:\Program Files\Git\bin. Когда я запускаю ls из приглашения Bash или когда я вызываю git из приглашения Windows, диспетчер задач показывает до четырех экземпляров процессов sh.exe, которые приходят и уходят.
Здесь я жду возвращения ls, и вы можете увидеть, что диспетчер задач имеет git.exe и четыре экземпляра sh.exe:

Если я ctrl-c в середине ls, я иногда получаю ошибки, которые включают:
sh.exe": fork: Resource temporarily unavailable
0 [main] sh.exe" 1624 proc_subproc: Couldn't duplicate my handle<0x6FC> fo
r pid 6052, Win32 error 5
sh.exe": fork: Resource temporarily unavailable
Или для git status:
Статус Git
sh.exe": fork: Resource temporarily unavailable
sh.exe": fork: Resource temporarily unavailable
sh.exe": fork: Resource temporarily unavailable
sh.exe": fork: Resource temporarily unavailable
Могу ли я исправить это, чтобы Git быстро запускался, и если да, то как?
Вещи, которые я пробовал:
- Reboot
- Обновите MSYS Git до последней версии и перезагрузите
- Обновите MSYS до последней версии и перезагрузите
- Удалите MSYS и удалите и переустановите MSYS Git самостоятельно и перезагрузите
Мне очень хотелось бы не вытереть ящик и переустановить Windows, но я буду, если не смогу это исправить. Я не могу больше кода, если мне требуется > 30 с для запуска git status или cd.
След стека застрявшего sh.exe. Обратите внимание, когда msys-1.0.dll вызывает NetServerEnum()
