Windows – 来自CMD的Cygwin命令很慢;从bash是快

前端之家收集整理的这篇文章主要介绍了Windows – 来自CMD的Cygwin命令很慢;从bash是快前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经使用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
Cygwin的“常见问题解答”中的 section处理启动时间较慢. Cygwin最近更改为使用Active Directory查找进行身份验证,而不是使用平面文件.更改/etc/nsswitch.conf中的默认值
passwd:   files db
group:    files db

passwd:   files
group:    files

跳过AD查找.我的Cygwin命令现在又快了.

猜你在找的Windows相关文章