diff options
-rw-r--r-- | winsup/doc/ChangeLog | 4 | ||||
-rw-r--r-- | winsup/doc/faq-using.xml | 63 |
2 files changed, 67 insertions, 0 deletions
diff --git a/winsup/doc/ChangeLog b/winsup/doc/ChangeLog index ddc92c9..ea20f7d 100644 --- a/winsup/doc/ChangeLog +++ b/winsup/doc/ChangeLog @@ -1,3 +1,7 @@ +2015-02-11 Warren Young <warren@etr-usa.com> + + * faq-using.xml (faq.using.startup-slow): New entry. + 2015-02-06 Corinna Vinschen <corinna@vinschen.de> * posix.xml (std-susv4): Move cabsl, cimagl, creall, hypotl, sqrtl here diff --git a/winsup/doc/faq-using.xml b/winsup/doc/faq-using.xml index 522a065..9593c3b 100644 --- a/winsup/doc/faq-using.xml +++ b/winsup/doc/faq-using.xml @@ -29,6 +29,69 @@ it to other missing DLLs and identify their containing packages, see </para> </answer></qandaentry> +<qandaentry id="faq.using.startup-slow"> +<question><para>Starting a new terminal window is slow. What's going on?</para></question> +<answer> + +<para>There are many possible causes for this. This answer is more a +list of things to look into than a set of solutions.</para> + +<orderedlist> + <listitem> + <para>If your terminal windows suddenly began starting slowly after a + Cygwin upgrade, the most likely cause is that you have an outdated + authentication setup.</para> + + <para>For almost all its lifetime, Cygwin has used Unix-like + <filename>/etc/passwd</filename> and <filename>/etc/group</filename> files + to mirror the contents of the Windows SAM and AD databases. Although these + files can still be used, since Cygwin 1.7.34, new installations now use the + SAM/AD databases directly.</para> + + <para>To switch to the new method, move these two files out of the way and + restart the Cygwin terminal. That runs Cygwin in its new default mode. If + you are on a system that isn't using AD domain logins, this makes Cygwin + use the native Windows SAM database directly, which may be faster than the + old method involving <filename>/etc/passwd</filename> and such. At worst, + it will only be a bit slower. (Which situation applies depends on the + benchmark you run.)</para> + + <para>If you are on an AD system, a hybrid approach you might consider is + to re-run <command>mkpasswd</command> and <command>mkgroup</command>, then + put the following into <filename>/etc/nsswitch.conf</filename> to make + Cygwin treat these files as read-only local caches of your AD database: + </para> + + <screen> + passwd: files + group: files + </screen> + + <para>By leaving out the "db" option, we are telling the Cygwin DLL not to + even <emphasis>try</emphasis> to do AD lookups. If your AD servers are + slow, this local cache will speed things up. The downside is the old stale + cache problem: any time the AD databases change, your local cache will go + out of date until you update the files manually.</para> + </listitem> + + <listitem> + <para>Another common cause of slow Cygwin Terminal starts is a bad DNS + setup. Many things that occur during a Cygwin Terminal startup require + fast DNS lookups.</para> + </listitem> +</orderedlist> + +<para>If none of the above helps, the best troubleshooting method is to run +your startup scripts in debug mode. Right-click your Cygwin Terminal icon, go +to Properties, and edit the command. It should be something like +<command>C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -</command>. +Assuming you are using Bash for your login shell, change it to +<command>C:\cygwin64\bin\mintty /bin/bash -lx</command>. That will cause it to +write out a line for every command it runs. A slow Cygwin Terminal launch +usually means one or more of the many commands Cygwin runs when starting up +will take a long time. That will be your clue as to what's going on.</para> +</answer></qandaentry> + <qandaentry id="faq.using.slow"> <question><para>Why is Cygwin suddenly <emphasis>so</emphasis> slow?</para></question> <answer> |