我已经使用Cygwin命令从我的
Windows CMD提示几个月没有问题.在过去几天中,每次调用Cygwin命令(例如ls)时,该命令在实际运行之前需要几秒钟“加载”.如果我在bash提示符下尝试相同的命令,它会立即运行(“加载”).
Cygwin FAQ提到PATH中的网络驱动器可能会导致问题,所以我尝试了一些我的PATH变量和网络连接的排列.下面,“完整路径”是指我原来的路径设置; “短PATH”表示只有Cygwin bin目录的路径.时间通过时间命令报告.
时间结果为ls
连接到网络:
>在bash内运行ls:0.124 s
>在CMD中运行ls(完整路径):41.29 s
>在CMD内运行ls(短路径):38.56秒
与网路断开连线
>在bash内运行ls:0.125 s
>在CMD中运行ls(完整路径):0.17秒
>在CMD中运行ls(短路径):0.19秒
cygcheck的结果
我运行cygcheck -s并注意到:
Warning: There are multiple cygwin1.dlls on your path
虽然这可能是由于Cygwin的bin目录中运行cygcheck.我完全卸载并重新安装Cygwin,仍然看到同样的问题.
netstat的结果
在执行Cygwin的ls之前和执行后(当它停滞)时,我运行了netstat -a -n.我做了这几次,发现每一次跑步的一行在延迟中一贯出现:
UDP 127.0.0.1:55030 *:*
端口号从测试变为测试.
strace结果
我在ls命令上运行Cygwin的strace.大多数延迟花在电话中,如:
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