Я использую команды Cygwin из моего приглашения Windows CMD в течение нескольких месяцев без проблем. В течение последних нескольких дней каждый раз, когда я вызываю команду Cygwin (например, ls), команда занимает несколько секунд, чтобы "загрузить" до ее фактического запуска. Если я попробую одну и ту же команду из приглашения bash, она немедленно запускает ( "загружает" ).
В Cygwin FAQ упоминается, что сетевые диски в PATH могут вызвать проблемы, поэтому я пробовал некоторые перестановки моей переменной PATH и сетевого подключения. Ниже "full PATH" означает мою первоначальную настройку пути; "short PATH" означает путь только с каталогом bin Cygwin. Время сообщается с помощью команды time.
Результаты синхронизации для ls
Подключено к сети:
- Запустите
lsвнутриbash: 0.124 с - Запустите
lsвнутри CMD (полныйPATH): 41.29 s - Запустите
lsв CMD (короткийPATH): 38.56 с
Отключено от сети:
- Запустите
lsвнутриbash: 0.125 с - Запустите
lsв CMD (полныйPATH): 0,17 с - Запустите
lsв CMD (короткийPATH): 0,19 с
Результаты для cygcheck
Я побежал cygcheck -s и заметил:
Warning: There are multiple cygwin1.dlls on your path
хотя это может быть связано с запуском cygcheck из каталога Cygwin bin. Я полностью удалил и переустановил Cygwin и все еще вижу ту же проблему.
Результаты netstat
Я запускал netstat -a -n перед выполнением Cygwin ls и после выполнения (пока он застопорен). Я делал это несколько раз и обнаружил одну строку от каждого прогона, которая постоянно появлялась во время задержки:
UDP 127.0.0.1:55030 *:*
Номер порта изменился с теста на тест.
strace результаты
Я запустил Cygwin strace в команде ls. Большая часть задержки выполняется в таких вызовах, как:
11685 886560 [main] ls 10020 pwdgrp::fetch_account_from_windows: line: <xxxx>
и
12684 899244 [main] ls 10020 cyg_ldap::fetch_ad_account: No entry for (objectSid=\00\00\00\00) in xxxx DC=xxxx,DC=xxxx,DC=xxxx