Windows 中的 Cygwin 非常慢/滞后

85f*_*fce 30 windows windows-7 cygwin command-line

突然间,我从 Windows 命令行启动的所有 Cygwin 命令在执行前都有大约 10-20 秒的延迟,因此 Cygwin 变得完全无法使用。我已经尝试重新安装但没有成功。

从 Bash shell 窗口中执行命令,效果很好(在启动 Bash 时我看到了滞后)。从我的本地 PATH 变量中删除所有条目没有影响。我使用 Windows 7 x64 和 Cygwin x64 v 1.7.34 (0.285/5/3)。

bob*_*ogo 21

有时,我在拥有数千名用户的 Windows 域中工作。

我不想做任何最佳猜测的方法。我更喜欢Cygwin根据需要缓存用户信息。事实证明这很容易做到。

只需cygserver在登录时运行。

要正确设置它,cygserver-config只需运行一次。这将设置cygserver为使用正确的凭据作为 Windows 服务运行。从管理员Cygwin 窗口执行此操作。

$ cygserver-config
Generating /etc/cygserver.conf file

Warning: The following function requires administrator privileges!

Do you want to install cygserver as service?
(Say "no" if it's already installed as service) (yes/no) yes

The service has been installed under LocalSystem account.
To start it, call `net start cygserver' or `cygrunsrv -S cygserver'.

Further configuration options are available by editing the configuration
file /etc/cygserver.conf. Please read the inline information in that
file carefully. The best option for the start is to just leave it alone.

Basic Cygserver configuration finished. Have fun!
Run Code Online (Sandbox Code Playgroud)

什么是cygserver对我做什么?

查看Cygwin 站点上的文档。基本上它做用户缓存的事情,同时确保 IPC 在所有Cygwin进程之间工作。

当然,您的里程可能会有所不同,但这是我现在首选的工作方式。我几年前就应该这样做了。

  • 我刚试过这个,但我遇到了一个问题:重新启动后,Cygwin 终端无法运行。*that* 的解决方案在 [here](https://superuser.com/a/1032600/92954) 中有解释(总结:运行 `services.msc` 并将 `cygserver` 设置为 `Automatic (Delayed Start)`)。 (2认同)

bob*_*ogo 16

这似乎与身份验证有关。对我来说,40 秒来执行某事。在那之后,该进程树中的进程创建似乎很快。

https://www.cygwin.com/faq.html#faq.using.startup-slow

所以我

我杀死了所有 Cygwin 进程并重新启动。现在一切运行良好且快速。我将在每次 Cygwin DLL 文件更新时删除此 hack 并查看我的进展情况。

这只是一个草图——你至少要保留备份!

编辑

已弃用。请参阅我最近对这个问题的回答以获得更好的(恕我直言)解决方案。

  • 为我工作...并且不必安装服务! (2认同)