Soudain, toutes les commandes Cygwin que je démarre à partir de la ligne de commande Windows ont un décalage d'environ 10 à 20 secondes avant de s'exécuter, de sorte que Cygwin devient totalement inutilisable. J'ai déjà essayé de réinstaller sans succès.
L'exécution des commandes à partir d'une fenêtre de shell Bash fonctionne très bien (lors du démarrage de Bash, je vois le décalage). La suppression de toutes les entrées de ma variable PATH locale n'a aucune influence. J'utilise Windows 7 x64 et Cygwin x64 v 1.7.34 (0.285 / 5/3).
C:\cygwin\bin>.\ls.exe <ENTER>
Réponses:
Parfois, je travaille dans un domaine Windows avec des milliers d'utilisateurs.
Je ne veux faire aucune meilleure approche. Je préférerais que Cygwin mette en cache les informations utilisateur selon les besoins. Il s'avère que c'est facile à faire.
Exécutez simplement
cygserver
lors de la connexion.Pour configurer cela correctement, exécutez
cygserver-config
une seule fois. Cela sera configurécygserver
pour s'exécuter en tant que service Windows avec les informations d'identification correctes. Pour ce faire, à partir d'une fenêtre d' administrateur Cygwin.Qu'est-ce que ça
cygserver
fait pour moi?Jetez un œil à la documentation sur le site Cygwin . Fondamentalement, il fait la mise en cache de l'utilisateur, tout en garantissant que IPC fonctionne entre tous les processus Cygwin .
Votre kilométrage peut bien sûr varier, mais c'est maintenant ma façon préférée de travailler. J'aurais dû le faire il y a des années.
la source
/usr/bin/cygserver-config: line 181: cygrunsrv: command not found
,C:/cygwin64/bin
est sur lePATH
, fonctionne en tant qu'administrateur ...C:\cygwin64\bin\cygrunsrv.exe
il? Avez-vous utilisé par erreur des barres obliques (/
) dans votre%PATH%
? Le package cygrunsrv est- il installé?C:\cygwin64\bin\cygrunsrv.exe
n'existe pas, installé lecygrunsrv: NT/W2K service initiator
paquet et tout fonctionne.Cela semble être lié à l'authentification. Pour moi, 40 secondes pour obtenir quelque chose à exécuter. Après cela, la création de processus dans cet arbre de processus semble assez rapide.
https://www.cygwin.com/faq.html#faq.using.startup-slow
Donc je
Création d'un cache de mon authentification locale et de mes propres informations d'identification Active Directory (AD)
A dit à Cygwin d'utiliser uniquement ces deux fichiers
J'ai tué tous les processus Cygwin et j'ai recommencé. Tout fonctionne maintenant bien et rapidement. Je supprimerai ce hack à chaque mise à jour du fichier DLL Cygwin et verrai comment j'y vais.
Ce n'est qu'un croquis - vous voudrez au moins conserver des sauvegardes!
ÉDITER
Obsolète. Voir ma réponse la plus récente à cette question pour une meilleure solution (à mon humble avis).
la source
Lisez la mise à jour ci-dessous, cela ne s'est pas avéré être le problème.
Je souffre d'une version extrême de ce problème, bien qu'il soit intermittent. Lorsque le problème existe, toutes les commandes prennent entre 20 secondes et dans les cas les plus extrêmes plusieurs minutes. Cela se produira pendant plusieurs jours, puis disparaîtra pendant plusieurs jours. BTW, j'ai un système extrêmement rapide avec beaucoup de DRAM, de disques SSD, etc.
J'ai maintenant enfin une théorie candidate qui pourrait expliquer les choses. Je viens de mettre à jour Cygwin via setup-x86_64.exe (ce que je fais rarement) et ensuite les choses sont à nouveau extrêmement réactives (littéralement des milliers de fois plus rapides qu'auparavant). Je suppose que le rebaseall à la fin de la mise à jour a fait la différence.
Mise à jour: l'accélération que j'ai vue auparavant était apparemment une coïncidence; lorsque le problème est réapparu un mois plus tard, cela ne l'a pas résolu. Il s'avère que la désactivation de la protection en direct de Windows Defender a résolu instantanément le ralentissement.
la source
En tant que note de bas de page, je viens de découvrir que je devais reconstruire les fichiers
passwd
etgroup
après une mise à jour Cygwin. Comme le comportement lent se reproduisait, la partie de base automatique de l'installation a pris plusieurs jours.Je n'avais pas non plus besoin de modifier le nsswitch.conf par défaut sur mon système (Windows 10).
Soit dit en passant, le comportement lent s'est également montré avec l'invite de commande Windows et les applications portables. Certaines applications portables ont mis plusieurs heures à produire une fenêtre au démarrage.
la source
C'est ainsi que ce problème s'est manifesté pour moi. Pour la première, disons 20, les commandes entrées à l'invite Cygwin étaient rapides, mais elles sont devenues brusquement lentes.
J'ai essayé le correctif d'authentification ci-dessus. Ça n'a pas marché pour moi.
La FAQ Cygwin signale que Cygwin n'aime pas les espaces dans les noms d'utilisateur ou de groupe. Voir Mon nom de connexion Windows contient un espace, cela causera-t-il des problèmes? .
Mon nom de groupe avait un espace, donc je l'ai changé dans le
/etc/group
fichier généré dans le correctif d'authentification en un trait de soulignement. Cela n'a pas fonctionné non plus.D'autres publications pour le même problème ont signalé qu'il en résultait pour le scanner de virus. J'ai remplacé mon antivirus existant (System Center Endpoint Protection) par Sophos. Cela a résolu le problème pour moi.
J'espère que ça aide.
la source
J'ai eu un problème avec la lenteur d'exécution des builds pendant un certain temps sur cygwin.
J'ai été obligé de mettre à jour hier et suis tombé sur le problème de rebaseall échouant simplement à exécuter. Cela m'a forcé à creuser d'autres choses et j'ai trouvé un rapport selon lequel Trusteer Rapport / End Point Protection est connu pour causer des problèmes avec rebaseall et des temps de réponse lents. Je l'ai donc supprimé, via la méthode normale de désinstallation de Windows via le Panneau de configuration.
J'ai ensuite fait un rebaseall à partir de l'interface du tableau de bord exécuté en tant qu'administrateur.
Cela signifie donc (win7) à partir du tableau de bord du type de menu Démarrer. Le raccourci du tableau de bord apparaît, cliquez avec le bouton droit pour exécuter en tant qu'administrateur. Ensuite, quand c'est terminé, exécutez:
/ usr / bin / rebaseall -v
Optez pour un café ... Il restera quelques secondes avant d'afficher la sortie, s'il reste assis et ne fait rien pendant plus de 5 minutes, vous avez un autre problème.
Cela a corrigé le rebaseall, mais a également considérablement augmenté la vitesse de ma construction. Il vaut la peine de vérifier si vous l'avez installé, essayez de le supprimer.
la source
c:\msys64\user\bin\dash.exe
. Afin de l'exécuter en tant qu'administrateur, j'ai dû lui créer un raccourci sur mon bureau. Malheureusement, cela n'a pas résolu mon ralentissement cygwin: (